1.首先在spring boot的入口类Application.java中启动定时器,只要在类上加注解@EnableScheduling即可启动定时器。
package com.sinosoft.signpass;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;
@SpringBootApplication
@EnableScheduling
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
2.application.properties配置文件配置时间。
jobs.schedule=0 0 9 * * ?
3.在定时类要定时执行的方法上加上注解 @Scheduled(cron=”${jobs.schedule}”) 即可。
package com.sinosoft.signpass.scheduled;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component
public class TimerController {
@Scheduled(cron="${jobs.schedule}")
private void task(){
System.out.println("nmj");
}
}
配置时间可能会用到@Scheduled(fixedRate = 6000)这个配置,这是配置每个多少时间执行任务,不明白的朋友可以查查cron属性和fixedRate属性的区别