Springの起動時にメソッドを実行する 質問する

Springの起動時にメソッドを実行する 質問する

アプリケーションを初めて起動したときにいくつかのメソッドを実行する Spring 3 の機能はありますか?@Scheduledアノテーションを使用してメソッドを設定するというトリックを実行できることはわかっていますが、起動直後に実行されますが、その後は定期的に実行されます。

ベストアンサー1

「アプリケーションの起動」が「アプリケーションコンテキストの起動」を意味するのであれば、はい、あります。これを行うには多くの方法があります最も簡単な方法は (少なくともシングルトン Bean の場合)、メソッドに をアノテーションすることです@PostConstruct。他のオプションについてはリンクを参照してください。要約すると次のようになります。

  • 注釈が付けられたメソッド@PostConstruct
  • afterPropertiesSet()InitializingBeanコールバックインターフェースで定義される
  • カスタム設定された init() メソッド

技術的には、これらはライフサイクルではなくコンテキスト ライフサイクルを使用しますが、99% のケースでは、この 2 つは同等です。

コンテキストの起動/シャットダウンに具体的にフックする必要がある場合は、Lifecycleインターフェースを実装する代わりに、それはおそらく不必要です。

おすすめ記事