第一步
导入pom依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-quartz</artifactId>
</dependency>
第二步
业务逻辑Job类
这个类就是普通的javabean,只做业务处理,作用就是定时任务
//这个注解不能少,其他注解不需要
@Service
public class TimedCheck {
//public方法
public void checkData(){
System.out.println("checkData");
}
}
第三步
编写xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- 配置JobDetail -->
<bean id="checkDataDetail"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<!-- 执行目标job -->
<property name="targetObject" ref="timedCheck"/>
<!-- 要执行的方法 -->
<property name="targetMethod" value="checkData"/>
<!--将并发设置为false -->
<property name="concurrent" value="false"/>
</bean>
<!-- 配置trigger触发器 -->
<bean id="checkDataTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<!-- jobDetail -->
<property name="jobDetail" ref="checkDataDetail"/>
<!-- cron表达式,执行时间 -->
<property name="cronExpression" value="0 5/10 * * * ?"/>
</bean>
<!-- 配置调度工厂 -->
<bean id="startQuartz" class="org.springframework.scheduling.quartz.SchedulerFactoryBean" lazy-init="false">
<property name="triggers">
<list>
<ref bean="checkDataTrigger"/>
</list>
</property>
</bean>
</beans>
切记,参考此文档出现问题,参考其他文档时,请注意springboot和spring配置quartz的区别(我走了很多弯路)
第四步
启动类中添加配置的xml
@ImportResource("classpath:quartz-config.xml")