記事のディレクトリ
(1)CommandLineRunnerインターフェースを実装します
開発中にそのような状況が発生する可能性があります。一部のコンテンツは、コンテナの起動時に実行する必要があります。たとえば、構成ファイル、データベース接続などを読み取ります。SpringBootは、この要求を達成するのに役立つ2つのインターフェイスを提供します。これらの2つのインターフェースは、CommandLineRunnerとApplicationRunnerです。それらの実行タイミングは、コンテナーが開始されたときです。
これらの2つのインターフェースにはrunメソッドがあり、このメソッドを実装するだけで済みます。2つのインターフェイスの違いは、ApplicationRunnerのrunメソッドのパラメータがApplicationArgumentsであるのに対し、CommandLineRunnerインターフェイスのrunメソッドのパラメータはStringの配列であるということです。以下に、これら2つのインターフェイスの実装を確認するための2つの簡単な例を示します。
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;
@Component
public class TestImplCommandLineRunner implements CommandLineRunner {
@Override
public void run(String... args) throws Exception {
System.out.println("<<<<<<<<<<<<这个是测试CommandLineRunn接口>>>>>>>>>>>>>>");
}
}
(2)ApplicationRunnerインターフェースを実装する
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.stereotype.Component;
@Component
public class TestImplApplicationRunner implements ApplicationRunner {
@Override
public void run(ApplicationArguments args) throws Exception {
System.out.println(args);
System.out.println("这个是测试ApplicationRunner接口");
}
}
@Orderアノテーション
複数の実装クラスがあり、それらを特定の順序で実行する必要がある場合は、@ Orderアノテーションを実装クラスに追加できます。@Order(value = integer value)。SpringBootは、@ Orderの値に応じて小さいものから大きいものへと実行されます。
(3)初期化メソッドに@PostConstructアノテーションを追加します
初期化メソッドには@PostConstructアノテーションが付けられています。クラスで必要な場合は、Beanに注意してください。
import javax.annotation.PostConstruct;
import org.springframework.stereotype.Component;
@Component
public class MyTest{
@PostConstruct
public void test() throws Exception {
System.out.println("PostConstruct");
}
}
(4)静的コードブロック
Javaの基本的な文法ですが、同じことがSpringにも当てはまります。
static{
XXX
}
(5)@Beanを使用して独自の定義済みBeanを作成し、起動時に関連プログラムを実行します
@Bean
public XXXX beanName() {
//自定义Bean属性
return XXXX;
}