SpringBoot学习笔记:计划任务
计划任务
在企业的实践生产中,可能需要使用一些定时任务,如月末、季末和年末需要统计各种各样的报表,每周自动备份数据等。
在Spring中使用定时任务
1、加入@EnableScheduling注解,以启用定时任务机制
@EnableScheduling
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
2、通过注解@Schedule配置如何定时
@Component
public class ScheduledTasks {
/**
* 每个一秒输出Hello,World
*/
@Scheduled(fixedRate = 1000)
public void sayHello(){
System.out.println("Hello");
}
}
其中fixedRate表示间隔时间,其中也可以填写cron表达式,来支持更广泛的时间表示。
Cron表达式
其中年可以省略,例如:0 0 0 ? * WED,表示每周三零点执行任务。
关于通配符:
上述表达式中,?表示不指定值,* 表示任意值,此处为任意月。?的作用是处理与星期的冲突,例如:天指定了21号,但是星期指定了每周三,这样就会出现冲突。
更多例子