SpringBoot定时任务@EnableScheduling
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot定时任务@EnableScheduling相关的知识,希望对你有一定的参考价值。
参考技术A 定时任务相当于闹钟
在什么时间做什么事情(执行什么命令/脚本)
1、pom.xml中导入必要的依赖:
2、写一个springboot的启动类:
3、新建一个Job类:
执行结果如下:
SpringBoot的定时任务
SpringBoot的定时任务
spring boot定时任务
- 在启动器配置开启定时任务@EnableScheduling
- 在定时任务类的指定⽅法上加上@Scheduled开启定时任务
- 定时任务表达式:使⽤cron属性来配置定时任务执⾏时间
定时任务方法配置
在springboot的启动类上加上 @EnableScheduling 注解。
测试类:
@Component
public class SeckillGoodsPushTask {
/****
* 每30秒执⾏⼀次
*/
@Scheduled(cron = "0/30 * * * * ?")
public void loadGoodsPushRedis(){
System.out.println("task demo");
}
}
定时任务常⽤时间表达式
CronTrigger配置完整格式为: [秒][分] [⼩时][⽇] [⽉][周] [年]
使⽤说明:
通配符说明:
* 表示所有值. 例如:在分的字段上设置 "*",表示每⼀分钟都会触发。
? 表示不指定值。使⽤的场景为不需要关⼼当前设置这个字段的值,第4为何第6为必须有⼀个是?
- 表示区间。例如 在⼩时上设置 "10-12",表示 10,11,12点都会触发。
, 表示指定多个值,例如在周字段上设置 "MON,WED,FRI" 表示周⼀,周三和周五触发 12,14,19
/ ⽤于递增触发。如在秒上⾯设置"5/15" 表示从5秒开始,每增15秒触发(5,20,35,50)。 在⽉字段上
设置'1/3'所示每⽉1号开始,每隔三天触发⼀次。
常⽤表达式
0 0 10,14,16 * * ? 每天上午10点,下午2点,4点
0 0/30 9-17 * * ? 朝九晚五⼯作时间内每半⼩时
"0 0 12 * * ?" 每天中午12点触发
"0 15 10 ? * *" 每天上午10:15触发
"0 15 10 * * ?" 每天上午10:15触发
"0 15 10 * * ? *" 每天上午10:15触发
"0 15 10 * * ? 2005" 2005年的每天上午10:15触发
"0 * 14 * * ?" 在每天下午2点到下午2:59期间的每1分钟触发
"0 0/5 14 * * ?" 在每天下午2点到下午2:55期间的每5分钟触发
最后,如果有问题,希望指正,一起进步。
以上是关于SpringBoot定时任务@EnableScheduling的主要内容,如果未能解决你的问题,请参考以下文章