springBoot 为我们提供了一个方法,通过实现接口 CommandLineRunner 来实现加载一些数据或做一些事情。
创建实现接口 CommandLineRunner 的类,在run方法中写入操作。
@Component
public class MyRunner implements CommandLineRunner {
@Override
public void run(String... strings) throws Exception {
System.out.println("服务启动执行,执行加载数据等操作");
}
}
Spring Boot应用程序在启动后,会遍历CommandLineRunner接口的实例并运行它们的run方法。也可以利用@Order注解(或者实现Order接口)来规定所有CommandLineRunner实例的运行顺序。
@Order 注解的执行优先级是按value值从小到大顺序。
@Component
@Order(value = 1)
public class MyRunner implements CommandLineRunner {
@Override
public void run(String... strings) throws Exception {
System.out.println("服务启动执行,执行加载数据等操作");
}
}
2017-01-17 18:08:50.135 INFO 5164 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8088 (http)
服务启动执行,执行加载数据等操作
2017-01-17 18:08:50.139 INFO 5164 --- [ main] com.zk.SpringbootSampleApplication : Started SpringbootSampleApplication in 3.249 seconds (JVM running for 3.499)