开启定时任务
在项目启动类上添加@EnableScheduling注解,开启对定时任务的支持
@SpringBootApplication
@EnableScheduling
public class ScheduledApplication {
public static void main(String[] args) {
SpringApplication.run(ScheduledApplication.class, args);
}
}
其中@EnableScheduling注解的作用是发现注解@Scheduled的任务并在后台执行。
编写定时任务类和方法
定时任务类@Component注解,定时方法使用@Scheduled注解。
@Component
public class ScheduledTask {
@Scheduled(fixedRate = 3000)
public void scheduledTask() {
System.out.println("执行任务");
}
}
@Scheduled属性
- @Scheduled(fixedRate = 3000):fixedRate属性表示定时任务开始后再次执行定时任务的延时(单位毫秒)
- @Scheduled(fixedDelay = 3000):fixedDelay属性表示定时任务执行完成后再次执行定时任务的延时(单位毫秒)
- @Scheduled(initialDelay = 1000, fixedRate = 3000):initialDelay属性表示第一次执行定时任务的延迟时间,需配合fixedDelay或者fixedRate来使用)
- @Scheduled(cron="0 0 2 1 ? "):通过cron表达式定义规则