インターフェース SmartInitializingSingleton

すべての既知の実装クラス:
AbstractEntityManagerFactoryBeanAnnotationAwareAspectJAutoProxyCreatorAnnotationMBeanExporterAspectJAwareAdvisorAutoProxyCreatorCacheAspectSupportCacheInterceptorCacheProxyFactoryBeanContextLifecycleScheduledTaskRegistrarDefaultJCacheOperationSourceEventListenerMethodProcessorJmsListenerAnnotationBeanPostProcessorLocalContainerEntityManagerFactoryBeanLocalEntityManagerFactoryBeanLocalSessionFactoryBeanMBeanExporterScheduledAnnotationBeanPostProcessorServerEndpointExporterWebSocketMessageBrokerStats

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 には慎重に使用してください。