インターフェース SmartInitializingSingleton
- すべての既知の実装クラス:
AbstractEntityManagerFactoryBean、AnnotationAwareAspectJAutoProxyCreator、AnnotationMBeanExporter、AspectJAwareAdvisorAutoProxyCreator、CacheAspectSupport、CacheInterceptor、CacheProxyFactoryBean、ContextLifecycleScheduledTaskRegistrar、DefaultJCacheOperationSource、EventListenerMethodProcessor、JmsListenerAnnotationBeanPostProcessor、LocalContainerEntityManagerFactoryBean、LocalEntityManagerFactoryBean、LocalSessionFactoryBean、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 には慎重に使用してください。