在實際項目開發中,咱們可能會但願在項目啓動後去加載一些資源信息、執行某段特定邏輯等等初始化工做,這時候咱們就須要用到SpringBoot提供的開機自啓
的功能,SpringBoot給咱們提供了兩個方式:CommandLineRunner
和ApplicationRunner
,CommandLineRunner
、ApplicationRunner
接口是在容器啓動成功後的最後一步回調,這兩種方法提供的目的是爲了知足,在項目啓動的時候馬上執行某些方法java
接下來給你們講解一下這兩個方式如何使用數組
如何建立SpringBoot項目這裏不作過多介紹ide
實現CommandLineRunner接口spa
/** * @author Gjing **/
@Component
public class MyStartRunner implements CommandLineRunner {
@Override
public void run(String... args) throws Exception {
System.out.println("本身定義的第一個啓動後事件開始執行。。。。。。。");
}
}
複製代碼
啓動項目
命令行
若是須要多個監聽類,咱們只須要定義多個就好了,經過@Order註解或者實現Order接口來標明加載順序code
/** * @author Gjing */
@Component
@Order(1)
public class MyStartRunner implements CommandLineRunner {
@Override
public void run(String... args) throws Exception {
System.out.println("本身定義的第一個啓動後事件開始執行。。。。。。。");
}
}
複製代碼
/** * @author Gjing **/
@Component
@Order(2)
public class MyStartRunner2 implements CommandLineRunner {
@Override
public void run(String... args) throws Exception {
System.out.println("本身定義的第二個啓動後事件開始執行。。。。。。。");
}
}
複製代碼
啓動項目orm
建立自定義監聽類cdn
實現ApplicationRunner接口blog
/** * @author Gjing **/
@Component
public class MyApplicationRunner implements ApplicationRunner {
@Override
public void run(ApplicationArguments args) throws Exception {
System.out.println("我自定義的ApplicationRunner事件。。。。。。");
}
}
複製代碼
啓動項目接口
ApplicationRunner
中run方法的參數爲ApplicationArguments
,而CommandLineRunner
接口中run方法的參數爲String數組。想要更詳細地獲取命令行參數,那就使用ApplicationRunner
接口
以上圖片內容免費領取傳送門:shimo.im/docs/BYMjlk…