背景
CommandLineRunner是一个SpringBoot提供的接口,这个接口可以让我们在SpringBoot启动之后,执行一些特定的命令行操作。
实现CommandLineRunner接口后,SpringBoot在启动的时候会自动执行run方法。通常,我们可以在run方法中进行一些数据的加载或初始化工作。如果有多个CommandLineRunner实现类,我们还可以通过添加@Order注解来指定执行的顺序。
例一:入门
package com.zhangyu.runner;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;
@Component
public class Runner implements CommandLineRunner {
@Override
public void run(String... args) throws Exception {
System.out.println("Runner执行");
}
}
例二:排序
package com.zhangyu.runner;
import org.springframework.boot.CommandLineRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
@Component
@Order(1)
public class OrderRunner1 implements CommandLineRunner {
@Override
public void run(String... args) throws Exception {
System.out.println("Runner执行1");
}
}
package com.zhangyu.runner;
import org.springframework.boot.CommandLineRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
@Component
@Order(2)
public class OrderRunner2 implements CommandLineRunner {
@Override
public void run(String... args) throws Exception {
System.out.println("Runner执行2");
}
}