SpringBoot学习笔记:计划任务
计划任务
在企业的实践生产中,可能需要使用一些定时任务,如月末、季末和年末需要统计各种各样的报表,每周自动备份数据等。
在Spring中使用定时任务
1、加入@EnableScheduling注解,以启用定时任务机制
1@EnableScheduling 2@SpringBootApplication 3public class Application { 4 5 public static void main(String[] args) { 6 SpringApplication.run(Application.class, args); 7 } 8 9}
2、通过注解@Schedule配置如何定时
1@Component 2public class ScheduledTasks { 3 4 /** 5 * 每个一秒输出Hello,World 6 */ 7 @Scheduled(fixedRate = 1000) 8 public void sayHello(){ 9 System.out.println("Hello"); 10 } 11}
其中fixedRate表示间隔时间,其中也可以填写cron表达式,来支持更广泛的时间表示。
Cron表达式

其中年可以省略,例如:0 0 0 ? * WED,表示每周三零点执行任务。
关于通配符:
上述表达式中,?表示不指定值,* 表示任意值,此处为任意月**。?的作用是处理与星期的冲突**,例如:天指定了21号,但是星期指定了每周三,这样就会出现冲突。
更多例子
