Springbootはどのようにリスニングスレッドを起動しますか

Spring BootのリスニングスレッドはApplicationRunnerかCommandLineRunnerインターフェースを実装することで実現されます。この2つのインターフェースはrunメソッドを提供し、Spring Bootアプリケーション起動後に初期化操作を実行できます。

具体的な手順を以下に示します。

  1. ApplicationRunner
  2. コマンドラインランナー
  3. 生まれながらに
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");
    }
}
  1. コンポーネントスキャン
  2. マイアプリケーションランナー
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. ネイティブな日本語で言い換えるには、1 つのオプションだけで十分です。実行

ApplicationRunnerとCommandLineRunnerの違いは、ApplicationRunnerインタフェースのrunメソッドは、コマンドラインで渡される引数を受け取ることができるApplicationArgumentsを引数として受け取りますが、CommandLineRunnerインタフェースのrunメソッドは、コマンドラインで渡される文字列の配列を受け取ります。必要に応じて適切なインタフェースを選択してください。

bannerAds