前言:
CommandLineRunner接口,可用于项目启动后,自动执行自己编写的逻辑代码。
该段代码在该项目的运行周期中有且只会执行一次。
使用:
1.定义一个类来实现CommandLineRunner接口。
2.加上@Component注解,让它可以被扫描到。
3.实现run方法,方法中编写项目启动后的业务逻辑代码。
4.如果有多个类实现了CommandLineRunner接口,可以使用@Order注解来进行执行顺序的定义,值约小,优先值越高。
代码:
@Component
@Order(200)
public class Runner1 implements CommandLineRunner {
Log logger = LogFactory.getLog(getClass());
@Override
public void run(String... args) throws Exception {
logger.info("执行runner1");
}
}
@Component
@Order(100)
public class Runner2 implements CommandLineRunner {
protected final Log logger = LogFactory.getLog(getClass());
@Override
public void run(String... args) throws Exception {
logger.info("执行runner2 ");
}
}
2019-04-23 16:26:41.588 INFO 12904 --- [main] com.ysw.myboot.config.start.Runner2: 执行runner2
2019-04-23 16:26:41.588 INFO 12904 --- [main] com.ysw.myboot.config.start.Runner1: 执行runner1