spring整合quartz:
网上也有很多教程,好多都是基于配置方式,我们使用当然怎么简单就怎么用,所以这里介绍基于注解方式整合quartz。前提:你需要有一个能运行的web项目。
1、引依赖:
<dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.3.0</version> </dependency>
注意:网上有的教程说还必须引入spring-context-support
依赖,但是本项目没有引入这个也可以正常使用quartz,可能是最新版不需要这个依赖了。
2、开启quartz的注解:
一般我们都在service层使用quartz,所以在spring-service.xml
中进行如下配置:
<context:component-scan base-package="com.zhu.meilianMall.service" /> <task:annotation-driven/>
注意:第一行扫描包的配置是ssm整合本来就需要的,等下quartz的注解也只能在这个包下使用。
3、使用quartz的注解:
在com.zhu.meilianMall.service
包下创建测试类,在需要定时执行的方法上加上@Scheduled(cron = "cron表达式")
,如下:
package com.zhu.meilianMall.service; import java.util.Date; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; /** * 测试quartz * @author zhu * */ @Service public class QuartzTest { @Scheduled(cron = "0/2 * * * * ?") public void run() { System.out.println("############### quartz整合成功! "+new Date()+"#####################"); } }
注意:既然是在service层测试,测试类不要忘了加@Service
注解;cron表达式不会写没关系,百度一下“cron表达式在线生成器”,就会有很多,这里也给出一个:在线cron表达式生成器。本案例中是每隔2秒执行一次run方法。
4、测试:
启动tomcat访问项目,然后控制台就打印出run方法的执行结果了。
run方法每隔两秒打印一次,整合成功!