SpringBoot如何啓動就執行本身定義的邏輯?

在實際項目開發中,咱們可能會但願在項目啓動後去加載一些資源信息、執行某段特定邏輯等等初始化工做,這時候咱們就須要用到SpringBoot提供的開機自啓的功能,SpringBoot給咱們提供了兩個方式:CommandLineRunnerApplicationRunnerCommandLineRunnerApplicationRunner接口是在容器啓動成功後的最後一步回調,這兩種方法提供的目的是爲了知足,在項目啓動的時候馬上執行某些方法java

接下來給你們講解一下這兩個方式如何使用數組

1、CommandLineRunner

一、建立SpringBoot項目

如何建立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

  • 監聽類1
/** * @author Gjing */
@Component
@Order(1)
public class MyStartRunner implements CommandLineRunner {
    @Override
    public void run(String... args) throws Exception {
        System.out.println("本身定義的第一個啓動後事件開始執行。。。。。。。");
    }
}
複製代碼
  • 監聽類2
/** * @author Gjing **/
@Component
@Order(2)
public class MyStartRunner2 implements CommandLineRunner {
    @Override
    public void run(String... args) throws Exception {
        System.out.println("本身定義的第二個啓動後事件開始執行。。。。。。。");
    }
}
複製代碼

啓動項目orm


2、ApplicationRunner

建立自定義監聽類cdn

實現ApplicationRunner接口blog

/** * @author Gjing **/
@Component
public class MyApplicationRunner implements ApplicationRunner {
    @Override
    public void run(ApplicationArguments args) throws Exception {
        System.out.println("我自定義的ApplicationRunner事件。。。。。。");
    }
}
複製代碼

啓動項目接口


3、二者的區別

ApplicationRunner中run方法的參數爲ApplicationArguments,而CommandLineRunner接口中run方法的參數爲String數組。想要更詳細地獲取命令行參數,那就使用ApplicationRunner接口

以上圖片內容免費領取傳送門:shimo.im/docs/BYMjlk…

相關文章
相關標籤/搜索