在使用SpringBoot构建项目时,咱们一般有一些预先数据的加载。那么SpringBoot提供了一个简单的方式来实现–CommandLineRunner。ide
CommandLineRunner是一个接口,咱们须要时,只需实现该接口就行。若是存在多个加载的数据,咱们也能够使用@Order注解来排序。3d
实例code
新建两个类实现 CommandLineRunner 接口blog
@Component @Order(value = 2) public class MyStartupRunner1 implements CommandLineRunner{ @Override public void run(String... strings) throws Exception { System.out.println(">>>>>>>>>>>>>>>服务启动执行,执行加载数据等操做 MyStartupRunner1 order 2 <<<<<<<<<<<<<"); } }
@Component @Order(value = 1) public class MyStartupRunner2 implements CommandLineRunner { @Override public void run(String... strings) throws Exception { System.out.println(">>>>>>>>>>>>>>>服务启动执行,执行加载数据等操做 MyStartupRunner2 order 1 <<<<<<<<<<<<<"); } }
查看控制台,能够看出数据加载的顺序与Order排序有关排序
注意:实现了CommandLineRunner接口的Component会在全部Spring Beans都初始化以后,SpringApplication.run()以前执行。接口