【Quartz】基于Spring注解方式配置Quartz

林炳文Evankaka原创作品。转载请注明出处 在上讲【Quartz】Spring3.2.9+Quqrtz2.2.1实现定时实例中,我们使用了XML的方式来配置Quartz定时任务,虽然比用API的方式简便多了,但是Spring还支持基本注解的方式来配置。这样做不仅更加简单,而且代码量也更加少了。

新建一个Java工程,导入要用到的包,Spring3.2、Quartz2.2.1、aopalliance-1.0.jar、commons-logging-1.2.jar。整个工程目录如下:

1、配置需要调度的类,并添加注解package com.mucfc;import java.text.SimpleDateFormat;import java.util.Date;import org.springframework.scheduling.annotation.Scheduled;import org.springframework.stereotype.Component;/** *事件类,基于Spring注解方式*作者 林炳文(ling20081005@126.com 博客:) *时间 2015.4.29*/@Componentpublic class MyJob {public MyJob(){System.out.println("MyJob创建成功");}@Scheduled(cron = "0/1 * * * * ? ")//每隔1秒隔行一次public void run(){System.out.println("Hello MyJob "+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ").format(new Date()));}}2、首先要配置我们的beans.xml,在xmlns 多加下面的内容xmlns:task=""3、然后xsi:schemaLocation多加下面的内容

4、最后是我们的task任务扫描注解

<!–开启这个配置,spring才能识别@Scheduled注解–><task:annotation-driven/> 5、自动配置扫描位置:

<!– 自动扫描注解的bean –><context:component-scan base-package="com.mucfc"/>6、整个文档如下<?xml version="1.0" encoding="UTF-8"?><beans xmlns=""xmlns:xsi="" xmlns:context=""xmlns:p="" xmlns:task=""xsi:schemaLocation=""><!–开启这个配置,,spring才能识别@Scheduled注解–><task:annotation-driven/><!– 自动扫描注解的bean –><context:component-scan base-package="com.mucfc"/></beans>7、使用package com.mucfc;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class Test {public static void main(String[] args) {// TODO Auto-generated method stubApplicationContext context=new ClassPathXmlApplicationContext("beans.xml");}}

输出结果:

一旦这个xml被加载进来来,就会自动创建bean的实例,并且开始定时任务了需要注意的几点:1、spring的@Scheduled注解 需要写在实现上2、 定时器的任务方法不能有返回值(如果有返回值,spring初始化的时候会告诉你有个错误、需要设定一个proxytargetclass的某个值为true、具体就去百度google吧)3、实现类上要有组件的注解@Component林炳文Evankaka原创作品。转载请注明出处

这一生我只牵你的手,因为今生有你早已足够。

【Quartz】基于Spring注解方式配置Quartz

相关文章:

你感兴趣的文章:

标签云: