这里采用Spring 3.2.4.RELEASE版本进行测试
1. 首先定义一个启动类:
package com.jacksoft.ispring.test.one;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
/**
* 启动
* @Project iSpring
*
* @Filename Main.java
*
* @author Jack.Zhou
*
* @Date 2013-11-1
*
*/
@Configuration
@ComponentScan("com.jacksoft.ispring.test.one")
public class Main {
public static void main(String[] args) {
ApplicationContext context = new AnnotationConfigApplicationContext(Main.class);
}
}
这个类在启动的时候会扫描com.jacksoft.ispring.test.one目录下面的注解类,而我们的任务类也在这个包下面
package com.jacksoft.ispring.test.one;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
/**
* http://spring.io/guides/gs/scheduling-tasks/
* Spring schedule task
*
* 需要添加@Component注解,让spring能进行扫描
*
* @Project iSpring
*
* @Filename ScheduleTasks.java
*
* @author Jack.Zhou
*
* @Date 2013-11-1
*
*/
@EnableScheduling
@Component
public class ScheduleTasks {
private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
@Scheduled(cron="*/10 * * * * *")
public void reportTimes(){
System.out.println("The time now is:" + dateFormat.format(new Date()));
}
}
通过注解来设置该类为任务类,然后通过直接main刚发,即可以完成任务定时执行
这也是参考spring官网上的例子来的,可以参考: