1.首先引入相关的pom文件
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context-support -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-tx-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.quartz-scheduler/quartz -->
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.2.3</version>
</dependency>
2.定义一个定时类
package cn.ljj.task;
import java.util.Date;
/**
*任务执行类
*@author ljj
*@date 2017年7月31号
*/
@Component public class ScheduledTasks{ public void execute(){
System.out.println("execute,data="+new Date());
} }
3.将定时器交由spring来管理调度,定义配置信息类
package cn.ljj.config;
@Configuration public class SchedledConfiguration { @Bean public MethodInvokingJobDetailFactoryBean detailFactoryBean(ScheduledTasks scheduledTasks){ MethodInvokingJobDetailFactoryBean bean = new MethodInvokingJobDetailFactoryBean (); bean.setTargetObject (scheduledTasks); bean.setTargetMethod ("execute"); return bean; }@Bean
public CronTriggerFactoryBean cronTriggerFactoryBean(MethodInvokingJobDetailFactoryBean jobdetail){
CronTriggerBean tigger = new CronTriggerBean ();
tigger.setJobDetail (jobdetail.getObject ());
try {
tigger.setCronExpression ("0/5 * * * * ? ");//每5秒执行一次
} catch (ParseException e) {
e.printStackTrace ();
}
return tigger;
}
@Bean
public SchedulerFactoryBean schedulerFactoryBean(CronTriggerFactoryBean cronTriggerFactoryBean){
SchedulerFactoryBean bean = new SchedulerFactoryBean ();
System.err.println (cronTriggerBean[0]);
bean.setTriggers (cronTriggerFactoryBean.getObject());
return bean;
}
}