web-dev-qa-db-ja.com

アノテーションを使用してBeanをレイジーでないものとして指定する方法

アノテーションを使用してBeanを構成するときに、Beanをnon lazyとして指定する方法を知っている人はいますか?

27
Michael Wiles

Beanはデフォルトでは怠惰ではありません。ただし、注釈に関する限り、現在の注釈はそれをサポートしていないようです。 http://forum.springsource.org/showthread.php?t=62931

Springの次のバージョンには何かが入っているようですが http://jira.springframework.org/browse/SJC-26

8
Priyank

Spring 3.0には、注釈があります: @Lazy(false) 。ただし、Beanはデフォルトで熱心であることに注意してください。

30
Bozho

正直に言うと、Spring 3.0以降に関しては、Beanはデフォルトで熱心に初期化されることを知っておいてください。

Bozhoの回答の @Lazy(false) リンクからの抜粋:

このアノテーションがコンポーネントまたはBean定義に存在しない場合、熱心な初期化が発生します。存在し、trueに設定されている場合、Bean /コンポーネントは存在しません。別のBeanによって参照されるか、囲んでいるBeanFactoryから明示的に取得されるまで初期化されます。存在し、falseに設定されている場合、Beanは、シングルトンの熱心な初期化を実行するBeanファクトリによって起動時にインスタンス化されます。

8
yair