语录:每天学习一个新的地方
我们开发过程中有这样的场景 ,在项目启动时要执行的方法,比如说在做定时任务的时候,希望在项目启动的时 开启定时任务。这时我们可以实现ApplicationRunner接口,重写里面的run方法。在项目启动的时候,会自动执行run方法里的内容。例子代码如下:
/**
* @author zc
* @date 2020-12-11
*/
@Component
public class JobRunner implements ApplicationRunner {
private final QuartzJobService quartzJobService;
private final QuartzManage quartzManage;
public JobRunner(QuartzJobService quartzJobService, QuartzManage quartzManage) {
this.quartzJobService = quartzJobService;
this.quartzManage = quartzManage;
}
/**
* 项目启动时重新激活启用的定时任务
* @param applicationArguments /
*/
@Override
public void run(ApplicationArguments applicationArguments){
System.out.println("--------------------注入定时任务---------------------");
List<QuartzJob> quartzJobs = quartzJobService.findByIsPauseIsFalse();
quartzJobs.forEach(quartzManage::addJob);
System.out.println("--------------------定时任务注入完成---------------------");
}
}
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/3f04e020ccb8306917e146bd21655bc4.png)