1 引入spiring和quartz相关jar包
<!-- quartz 的jar -->
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz-jobs</artifactId>
<version>2.2.1</version>
</dependency>
2 编写任务类
..略...
3配置文件
<!-- 定时任务开关控制器 -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean" lazy-init="false">
<property name="triggers">
<list>
<ref bean="TriggerFirst" />
<ref bean="TriggerTwo" />
</list>
</property>
</bean>
<!-- 执行定时任务时间 -->
<bean id="TriggerFirst" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="triggerFirstDetail"/>
<property name="cronExpression" value="0 15 10 ? * *"/> <!--"0 15 10 ? * *" 每天早上10:15触发 "30 * * * * ?" -->
</bean>
<!--此方式合适仅仅需要调用特定类对象的某个方法。通过SimpleTriggerFactoryBean创建job(顾名思义,JobDetail的bean工厂的方法反射类,FactoryBean<JobDetail>的实现类),由它的对象调用我们要执行的类的方法 -->
<bean id="triggerFirstDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="JobFirst"/> > <!-- 具体要执行的类 -->
<property name="targetMethod" value="jobFirstMethod"/> <!-- 具体要执行的方法 -->
<!-- 是否允许任务并发执行。当值为false时,表示必须等到前一个线程处理完毕后才再启一个新的线程 -->
<property name="concurrent" value="false"/>
</bean>
<!-- 注入bean -->
<bean id="JobFirst" class="com.cn.JobFirst" />
<!-- 执行定时任务时间 -->
<bean id="TriggerTwo" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="triggerTwoDetail"/>
<property name="cronExpression" value="0 15 10 ? * FRI"/> <!-- 每个周五10:15 AM触发一次 -->
</bean>
<bean id="triggerTwoDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="JobTwo"/> <!-- 具体要执行的类 -->
<property name="targetMethod" value="JobTwoMethod"/> <!-- 具体要执行的方法 -->
<!-- 是否允许任务并发执行。当值为false时,表示必须等到前一个线程处理完毕后才再启一个新的线程 -->
<property name="concurrent" value="false"/>
</bean>
<!-- 注入bean -->
<bean id="JobTwo" class="com.cn.JobTwo" />