一、功能说明
使用SpringBoot框架开发的项目,通常情况启动类以及主方法main函数如下:
@SpringBootApplication
public class SpringBootSzydemoQuartzApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootSzydemoQuartzApplication.class, args);
}
}
有时我们需要在启动项目的同时,还要去启动某一个服务或者是线程。能实现此功能需求的方法不止一种,本文介绍的只是我测试验证过并且使用的,使用也是非常简单。
二、使用说明
在项目中,创建了一个listener包,并且创建了一个类ApplicationStartQuartzJobListener
,如下图所示:
类实现如下:
@Component
public class ApplicationStartQuartzJobListener implements ApplicationListener<ContextRefreshedEvent> {
/**
* 初始启动quartz
*/
@Override
public void onApplicationEvent(ContextRefreshedEvent event) {
try {
//具体要做的事情
} catch (Exception ex) {
log.error(ex.getMessage(), ex);
}
}
}