任意のメソッドで、前処理、後処理

Bean生成の前処理、後処理について任意のメソッドを呼び出す。

InitializingBean, DisposableBean を実装すれば初期化や後処理を行うことができます。しかし、既存のクラスを使用したい場合や Spring に依存させずに Bean を実装したいこともあります。そのような場合に対応できるよう Spring では任意のメソッドを呼び出すよう Bean 定義ファイルで設定が行えます。初期化のタイミングで呼び出したいメソッドがある場合は bean 要素の init-method 属性で、後処理のタイミングで呼び出したいメソッドがある場合は bean 要素の destroy-method 属性でメソッド名を指定します。

Spring に依存させずに Bean を実装したいこともあります。

と書いてあるがどういう時なのだろうか?


  
    hoge
  

上記のように記述た場合、ExampleBeanに実装されているinitializeメソッドと、disposeメソッドがそれぞれ実行されるらしい。

ただし、これらの呼び出せるメソッドには制限があり、init-method 属性で指定できるメソッドは引数なしのメソッドだけ、destroy-method 属性で指定できるメソッドは引数なしか、boolean 型の引数を 1つだけとるメソッドだけです。boolean 型の引数をとる場合引数には "true" が渡されます。いずれのメソッドも返り値はあってもなくても構いません。また、インタフェースの場合と同様に Bean が Singleton ではないときには destroy-method 属性で指定したメソッドは呼び出されません。

あまり使い勝手はよさそうではありませんな。
まあ、使用することはなさそうだけど。