SpringBoot学习笔记(12):计划任务

时间:2021-07-09 05:36:55

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表达式

   SpringBoot学习笔记(12):计划任务

  其中年可以省略,例如:0 0 0 ? * WED,表示每周三零点执行任务。

关于通配符:

 上述表达式中,?表示不指定值,* 表示任意值,此处为任意月。?的作用是处理与星期的冲突,例如:天指定了21号,但是星期指定了每周三,这样就会出现冲突。 

更多例子

SpringBoot学习笔记(12):计划任务