一、CommandLineRunner和ApplicationRunner
我们只要实现这两个中的任何一个接口便可以完成我们的资源初始化任务,CommandLineRunner 和 ApplicationRunner 的加载是在容器完全启动之前。这两者的区别是:CommandLineRunner 的run方法参数是 String...args,直接传入字符串;ApplicationRunner 的参数是ApplicationArguments,对参数进行了封装。功能上是一样的。同时也可以使用 @Order注解来实现资源加载的先后顺序,值越小,优先级越高。代码示例如下:
@Component
@Order(1)
public class MyCommandLineRunner implements CommandLineRunner {
@Override
public void run(String... args) throws Exception {
System.out.println("...init resources by implements CommandLineRunner");
}
}
@Component
@Order(2)
public class MyApplicationRunner implements ApplicationRunner {
@Override
public void run(ApplicationArguments applica