SpringBoot为我们提供了CommandLineRunner接口,该接口用于程序启动后执行代码,通过重写run方法即可。
@Component
public class StartupListener implements CommandLineRunner {
@Override
public void run(String... args) throws Exception {
System.out.println("启动开始");
TimeUnit.SECONDS.sleep(10);
System.out.println("启动完成");
}
}
如果有多个任务要执行且又要按指定的顺序执行可以加上@Order注解并指定顺序。
@Component
@Order(1)
public class StartupListener implements CommandLineRunner {
@Override
public void run(String... args) throws Exception {
System.out.println("启动1开始");
TimeUnit.SECONDS.sleep(10);
System.out.println("启动1完成");
}
}
@Component
@Order(2)
public class StartupListener2 implements CommandLineRunner {
@Override
public void run(String... args) throws Exception {
System.out.println("启动2");
}
}
控制台输出如下,按顺序执行任务。
启动1开始
启动1完成
启动2
1317

被折叠的 条评论
为什么被折叠?



