林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka
新建一个Java工程,导入要用到的包,Spring3.2、Quartz2.2.1、aopalliance-1.0.jar、commons-logging-1.2.jar。整个工程目录如下:
- package com.mucfc;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import org.springframework.scheduling.annotation.Scheduled;
- import org.springframework.stereotype.Component;
- /**
- *事件类,基于Spring注解方式
- *作者 林炳文([email protected] 博客:http://blog.csdn.net/evankaka)
- *时间 2015.4.29
- */
- @Component
- public 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()));
- }
- }
- xmlns:task="http://www.springframework.org/schema/task"
- http://www.springframework.org/schema/task
- http://www.springframework.org/schema/task/spring-task-3.0.xsd
4、最后是我们的task任务扫描注解
- <!--开启这个配置,spring才能识别@Scheduled注解-->
- <task:annotation-driven/>
- <!-- 自动扫描注解的bean -->
- lt;context:component-scan base-package="com.mucfc"/>
- <?xml version="1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
- xmlns:p="http://www.springframework.org/schema/p" xmlns:task="http://www.springframework.org/schema/task"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
- http://www.springframework.org/schema/context
- http://www.springframework.org/schema/context/spring-context-3.0.xsd
- http://www.springframework.org/schema/task
- http://www.springframework.org/schema/task/spring-task-3.0.xsd">
- <!--开启这个配置,spring才能识别@Scheduled注解-->
- <task:annotation-driven/>
- <!-- 自动扫描注解的bean -->
- <context:component-scan base-package="com.mucfc"/>
- </beans>
- 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 stub
- ApplicationContext context=new ClassPathXmlApplicationContext("beans.xml");
- }
- }
输出结果:
需要注意的几点:
1、spring的@Scheduled注解 需要写在实现上
2、 定时器的任务方法不能有返回值(如果有返回值,spring初始化的时候会告诉你有个错误、需要设定一个proxytargetclass的某个值为true、具体就去百度google吧)
3、实现类上要有组件的注解@Component
林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka