實際應用中,咱們會有在項目服務啓動的時候就去加載一些數據或作一些事情這樣的需求。ide
爲了解決這樣的問題,Spring Boot 爲咱們提供了一個方法,經過實現接口 CommandLineRunner 來實現。.net
@Component接口
public class MyStartupRunner1 implements CommandLineRunner {get
@Overrideio
public void run(String... args) throws Exception {class
System.out.println(">>>>>>>>>>>>>>>服務啓動執行,執行加載數據等操做<<<<<<<<<<<<<");遍歷
}程序
}方法
Spring Boot應用程序在啓動後,會遍歷CommandLineRunner接口的實例並運行它們的run方法。im
也能夠利用@Order註解(或者實現Order接口)來規定全部CommandLineRunner實例的運行順序。
@Order 註解的執行優先級是按value值從小到大順序。
以下:先執行1,在執行2
@Component
@Order(1)
public class MyStartupRunner1 implements CommandLineRunner {
@Override
public void run(String... args) throws Exception {
System.out.println(">>>>>>>>>>>>>>>服務啓動執行,執行加載數據等操做111<<<<<<<<<<<<<");
}
}
@Component
@Order(2)
public class MyStartupRunner2 implements CommandLineRunner {
@Override
public void run(String... args) throws Exception {
System.out.println(">>>>>>>>>>>>>>>服務啓動執行,執行加載數據等操做2222<<<<<<<<<<<<<");
}
}