1. 程式人生 > 實用技巧 >應用程式啟動後首先被呼叫CommandLineRunner

應用程式啟動後首先被呼叫CommandLineRunner

public void run(String... args),最重要的是:這個方法會在應用程式啟動後首先被呼叫 那種只需要在應用程式啟動時執行一次的任務,非常適合利用Command line runners來完成。 Spring Boot應用程式在啟動後,會遍歷CommandLineRunner介面的例項並執行它們的run方法。 也可以利用@Order註解(或者實現Order介面)來規定所有CommandLineRunner例項的執行順序。 例子:
 1 @EnableAsync
 2 @EnableSwagger2Doc
 3 @SpringBootApplication
 4 public
class App implements CommandLineRunner,Common{ 5 @Autowired 6 private ApplicationContext appContext; 7 8 public static void main(String[] args) throws Exception { 9 Logger.info("Server Loading Start:"); 10 /** 11 * mybatis初始化 12 */ 13 DbCache.instance();
14 15 DataCache.init(); 16 17 /** 18 * *開啟service服務 19 */ 20 SpringApplication.run(App.class, args); 21 22 Logger.info("Server Loading end:"); 23 24 } 25 26 @Override 27 public void run(String... args) throws Exception { 28 String[] beans = appContext.getBeanDefinitionNames(); 29 for (String bean : beans) { 30 HttpInterface.loadInterface(appContext.getBean(bean).getClass()); 31 } 32 }
33 }