回答:
あなたは次のようなものを使うことができます:
<beans>
<bean id="myBean" class="..." init-method="init"/>
</beans>
これにより、Beanがインスタンス化されるときに「init」メソッドが呼び出されます。
他の回答で@PostConstructの提案を拡張するには、これは本当に私の考えでは最良の解決策です。
<context:component-scan>
も機能し、クラスパスにSpring以外の大きなライブラリがある場合に起動時間を短縮するのに役立ちます。
リファレンスで説明されているように、考慮すべき3つの異なるアプローチがあります。
@PostConstruct
初期化処理の最後にメソッドを呼び出す必要があるのはクラスの一部なので、実際に使用するのは良いことだと思います。
実装してみましたInitializingBean
か?まさにあなたが求めているもののように聞こえます。
欠点は、BeanがSpring対応になることですが、ほとんどのアプリケーションではそれほど悪くありません。
アプリケーションコンテキストにカスタムBeanPostProcessorをデプロイして、それを行うことができます。または、BeanにSpringインターフェースを実装してもかまわない場合は、InitializingBeanインターフェースまたは「init-method」ディレクティブ(同じリンク)を使用できます。
2つのアプローチ、つまり、
@PostConstruct
そしてinit-method="init"
個人的な経験から、(1)を使用するのはサーブレットコンテナでのみ機能するのに対し、(2)はデスクトップアプリケーションを含め、どの環境でも機能することに気付きました。したがって、スタンドアロンアプリケーションでSpringを使用する場合、(2)を使用して、「初期化後にこのメソッドを呼び出す」ことを実行する必要があります。
@PostConstruct
(Springベースのアプリで使用される場合)は、所有するSpringコンテキストの寿命に関連付けられます。このようなコンテキストは、あらゆる種類のアプリケーションで使用できます。