インターフェース SmartInitializingSingleton
- すべての既知の実装クラス:
AnnotationMBeanExporter
、CacheAspectSupport
、CacheInterceptor
、CacheProxyFactoryBean
、ContextLifecycleScheduledTaskRegistrar
、DefaultJCacheOperationSource
、EventListenerMethodProcessor
、JmsListenerAnnotationBeanPostProcessor
、MBeanExporter
、ScheduledAnnotationBeanPostProcessor
、ServerEndpointExporter
、WebSocketMessageBrokerStats
public interface SmartInitializingSingleton
BeanFactory
ブートストラップ中にシングルトンの事前インスタンス化フェーズの最後にトリガーされるコールバックインターフェース。このインターフェースは、通常のシングルトンインスタンス化アルゴリズムの後で初期化を実行するためにシングルトン Bean で実装でき、偶発的な早期初期化(たとえば、ListableBeanFactory.getBeansOfType(java.lang.Class<T>)
呼び出し)による副作用を回避します。その意味で、これは Bean のローカル構築フェーズの最後にトリガーされる InitializingBean
の代替です。 このコールバックバリアントは、ContextRefreshedEvent
にいくらか似ていますが、ApplicationListener
の実装を必要としません。コンテキスト階層全体でコンテキスト参照をフィルタリングする必要はありません。また、beans
パッケージのみへの依存関係が最小限に抑えられ、スタンドアロンの ListableBeanFactory
が優先されます。ApplicationContext
環境だけでなく、実装。
注意 : 非同期タスクを開始 / 管理する場合は、代わりに Lifecycle
を実装することをお勧めします。これにより、ランタイム管理のより豊富なモデルが提供され、段階的な起動 / シャットダウンが可能になります。
- 導入:
- 4.1
- 作成者:
- Juergen Hoeller
- 関連事項:
メソッドのサマリー
修飾子と型メソッド説明void
シングルトン事前インスタンス化フェーズの終わりに呼び出され、すべての通常のシングルトン Bean がすでに作成されていることを保証します。
メソッドの詳細
afterSingletonsInstantiated
void afterSingletonsInstantiated()シングルトン事前インスタンス化フェーズの終わりに呼び出され、すべての通常のシングルトン Bean がすでに作成されていることを保証します。このメソッド内のListableBeanFactory.getBeansOfType(java.lang.Class<T>)
呼び出しは、ブートストラップ中に偶発的な副作用を引き起こしません。注意 : このコールバックは、
BeanFactory
ブートストラップ後にオンデマンドで遅延初期化されたシングルトン Bean ではトリガーされず、他の Bean スコープでもトリガーされません。意図されたブートストラップセマンティクスのみを使用する Bean には慎重に使用してください。