特定のコードを実行するためにSpring Bootを起動する方法は何ですか?
Spring Bootアプリケーションでは、特定のコードを実行する方法は2つあります。
- ApplicationRunnerやCommandLineRunnerインターフェースを使用する:これらは、Spring Bootが提供する、アプリケーションの起動後に特定のコードを実行するためのインターフェースです。これらのインターフェースを実装し、アプリケーションにbeanとして注入することができます。アプリケーションの起動が完了すると、Spring Bootは自動的にこれらのインターフェースを実装したbean内のrunメソッドを呼び出します。runメソッド内に、アプリケーションの起動後に直ちに実行したいコードを記述することができます。
例えば、ApplicationRunnerインターフェースを実装するクラスを作成する。
@Component
public class MyApplicationRunner implements ApplicationRunner {
@Override
public void run(ApplicationArguments args) throws Exception {
// 在应用程序启动后执行的代码
System.out.println("应用程序启动后执行的代码");
}
}
- @PostConstructアノテーションを使用すると、Springで管理されている任意のビーンのメソッドに@PostConstructアノテーションを付けることができます。@PostConstructアノテーションが付けられたメソッドは、そのビーンが初期化された後すぐに実行されます。このメソッドには、アプリケーションが起動した後にすぐに実行されるコードを書くことができます。
例えば、@PostConstructアノテーションを持つメソッドを作成する。
@Component
public class MyBean {
@PostConstruct
public void init() {
// 在应用程序启动后执行的代码
System.out.println("应用程序启动后执行的代码");
}
}
アプリケーションを起動した後、特定のコードを実行する方法を選択することができます。