Springbootはどのようにリスニングスレッドを起動しますか
Spring BootのリスニングスレッドはApplicationRunnerかCommandLineRunnerインターフェースを実装することで実現されます。この2つのインターフェースはrunメソッドを提供し、Spring Bootアプリケーション起動後に初期化操作を実行できます。
具体的な手順を以下に示します。
- ApplicationRunner
- コマンドラインランナー
- 生まれながらに
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.stereotype.Component;
@Component
public class MyApplicationRunner implements ApplicationRunner {
@Override
public void run(ApplicationArguments args) throws Exception {
// 在这里编写你要执行的初始化操作
System.out.println("ApplicationRunner is running");
}
}
- コンポーネントスキャン
- マイアプリケーションランナー
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
@SpringBootApplication
@ComponentScan(basePackages = "com.example")
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
- ネイティブな日本語で言い換えるには、1 つのオプションだけで十分です。実行
ApplicationRunnerとCommandLineRunnerの違いは、ApplicationRunnerインタフェースのrunメソッドは、コマンドラインで渡される引数を受け取ることができるApplicationArgumentsを引数として受け取りますが、CommandLineRunnerインタフェースのrunメソッドは、コマンドラインで渡される文字列の配列を受け取ります。必要に応じて適切なインタフェースを選択してください。