SpringBoot之CommandLineRunner介面和ApplicationRunner介面
阿新 • • 發佈:2019-02-19
我們在開發中可能會有這樣的情景。需要在容器啟動的時候執行一些內容。比如讀取配置檔案,資料庫連線之類的。SpringBoot給我們提供了兩個介面來幫助我們實現這種需求。這兩個介面分別為CommandLineRunner和ApplicationRunner。他們的執行時機為容器啟動完成的時候。
這兩個介面中有一個run方法,我們只需要實現這個方法即可。這兩個介面的不同之處在於:ApplicationRunner中run方法的引數為ApplicationArguments,而CommandLineRunner介面中run方法的引數為String陣列。下面我寫兩個簡單的例子,來看一下這兩個介面的實現。
CommandLineRunner
具體程式碼如下:執行結果為:package com.zkn.learnspringboot.runner; import org.springframework.boot.CommandLineRunner; import org.springframework.stereotype.Component; /** * Created by zkn on 2016/8/12. */ @Component public class TestImplCommandLineRunner implements CommandLineRunner { @Override public void run(String... args) throws Exception { System.out.println("<<<<<<<<<<<<這個是測試CommandLineRunn介面>>>>>>>>>>>>>>"); } }
ApplicationRunner介面
具體程式碼如下:執行結果如下:package com.zkn.learnspringboot.runner; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.stereotype.Component; /** * Created by zkn on 2016/8/12. * 注意:一定要有@Component這個註解。要不然SpringBoot掃描不到這個類,是不會執行。 */ @Component public class TestImplApplicationRunner implements ApplicationRunner { @Override public void run(ApplicationArguments args) throws Exception { System.out.println(args); System.out.println("這個是測試ApplicationRunner介面"); } }