Springbootのライフサイクル

ApplicationContextInitializedEvent
ときSpringApplication開始と準備のApplicationContext、および任意のBean定義をロードする前にApplicationContextInitializersで発行されたイベントを呼び出します。ライフサイクルに対応する)(contextPreparedです

ApplicationPreparedEvent
ApplicationPreparedEventがイベントを公開されて作成したSpringBootコンテキストのコンテキストである。しかし、春Bean内のこの時間は、完全にロードされていません。ここでは、外出や動作にいくつかの追加のコンテキストを行うことができます。しかし、リスナーは、カスタムBeanと操作を取得することができません。ライフサイクルに対応するcontextLoadedです()。

ApplicationStartedEvent
このイベントは、バージョン2.0で導入されました。任意のApplicationRunnerとCommandLineRunnerと呼ばれるプログラムを実行する前に、特定のリリースでは、アプリケーションコンテキストの後に更新されます。

SpringApplicationRunListeners

    SpringApplicationRunListenersはコレクションクラスで、内部はSpringApplicationRunListenerリストを含むログが含まれています。主にSpringApplicationRunListenerを呼び出すときの方法は、さまざまな方法で定義されていSpringApplicationオブジェクトを、リスニングSpringApplicationRunListenerは、その実装クラスはEventPublishingRunListenerです。それはApplicationListener剤です。いくつかの主要なプロセスは、彼のコールバックによって行われている通知を聴き始めるspringboot、そのライフサイクルの終わりには、開始するには、最初から開始することです。

    次の方法の各SpringApplicationRunListenerは、春のコンテナが正常にイベントに興味を持っApplicationListenerを見つけて、そのメソッドを呼び出すにリフレッシュされていない前にSimpleApplicationEventMulticasterを使用している、イベントにそのパッケージを考えonApplicationEvent

開始:runメソッドのSpringApplicationオブジェクトがちょうど始めたとき(SimpleApplicationEventMulticasterを依存しています)

environmentPrepared:環境準備の容器が、春が作成されていない場合は(SimpleApplicationEventMulticasterを依存しています)

contextPrepared:春のコンテナが作成され、準備ができている場合には、(現在は達成空)

contextLoaded:コンテナがロードされている春と更新されませんでしたとき。負荷がApplicationListenerはそれがsetApplicationContext方法ApplicationListenerまたはApplicationContextAwareも呼び出す必要があれば、その時点で春のコンテナに追加される前に取得しながら、春のコンテナ(SimpleApplicationEventMulticasterを頼る)に登録された私たちのprimaryClassにあります。

開始:春のコンテナがリフレッシュされており、アプリケーションが起動されているが、CommandLineRunnersとApplicationRunnersがまだ呼び出されていない、(ApplicationListenerは春のコンテナに参加したので)春のコンテナが直接自分自身を送信

実行されている:(ApplicationListenerは春のコンテナに参加したので)私たちは、独自のコンテナを送信するために直接春を通じて、CommandLineRunnersと呼ばれています

失敗しました:コンテナはバネ仕掛けではないかSimpleApplicationEventMulticasterの使用に有効になっていない、またはそれ以外の場合は春のコンテナ自体に依存している場合は例外が、コールで発生した場合。

おすすめ

転載: www.cnblogs.com/nizuimeiabc1/p/12174019.html