spring整合quartz框架

醉酒当歌 提交于 2019-12-02 16:58:01

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方法的执行结果了。

 
image.png

run方法每隔两秒打印一次,整合成功!
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!