SpringBoot整合Schedule定时任务

一、Scheduled定时任务器
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context-support</artifactId>
    </dependency>
二、Scheudled定时任务
@Component
public class ScheduleDemo {
    /**
     * 定时任务方法
     * @Schedule:设置定时任务
     * cron属性:cron表达式,定时任务触发是时间的一个字符串表达形式
     */
    @Scheduled(cron="0/2 * * * * ?")
    public void scheduledMethod(){
        System.out.println("定时器被触发"+new Date());
    }
}
启动类添加

@EnableScheduling

cron表达式讲解

cron表达式是一个字符串,分为6个或7个域,每一个域代表一个含义。
cron有如下两种表达格式
(1)Seconds Minute Hours Day Month Week Year
(2) Seconds Minutes Hours Day Month Week

一、 结构

corn从左到右(以空格形式隔开):秒 分 小时 月份中的的日期 月份 星期 年份

二、各字段的含义

秒 允许值:0-59 允许的特殊字符: ,- * /
分钟 允许值:0-59 允许的特殊字符: ,- * /
小时 允许值: 0-23 允许的特殊字符: ,- * /
日 允许值:1-31 允许的特殊字符: ,- * / L W C
月 允许值 1-12 允许的特殊字符: ,- * /
星期 允许值 1-7 允许的特殊字符: ,- * ?/ L C #
年(可选) 允许值 1970-2099 允许的特殊字符: ,- * /

星期起始星期是星期日 1代表星期日,7代表星期六
星期和日存在冲突,一般定义时舍弃一个用?占位

符号的意义
  • *:可用在所有字段中,表示对应时间域的每一个时刻,例如,“分钟字段时,表示每分钟”
  • ?:该字符只在日期和星期字段中使用,它通常指定为“无意义的值”,相当于占位符。
  • -减号:表达一个范围,如再星期字段中使用“10-12”,则表示10-12点,即10,11,12;
  • ,逗号:表示一个列表值,如在星期字段中使用“MON,WED,FRI”,则表示星期一、星期三和星期五;
  • /斜杠:x/y表达一个等步长序列,x为起始值,y为增量值。如在分钟字段中使用0/15,则表示为1,15,30,和45,而5/15在分钟字段中表示,5,20,35,50,你也可以使用*/y ,他等同于0/y;
  • L:该字段只在日期和星期字段中使用,代表“Last”意思,但他在两个字段中意思不同。L在日期字段中,表示这个月份的最后一天,如一月的最后一天31号非闰年2月的最后一天28号;如果L用在星期中则表示星期六,等同于7.但是如果L出现在星期字段里,而且在前面有一个数值X,则表示“这个月的最后X天”。例如6L表示该月的最后星期五;
  • W:该字符只能出现在日期字段里面,是对前导日期的修饰,表示离该日期最近的工作日。例如,15W表示离该月15号最近的工作日,如果该月15号是星期六,则匹配14号星期五;如果15号是星期日,则匹配16号星期一;如果15号是星期二,则结果为15号星期二; 但是必须注意关联匹配日期不能够跨月例如 若你指定1W ,如果1号是星期六,结果不会匹配上月的末的星期五,而会匹配3号的星期一。W字符串只能指定单一日期,而不能指定日期的范围。
  • LW组合:在日期字段可以使用LW 表示当月的最后一个工作日;
  • #井号:该字符只能在星期字符中使用,表示当月某个工作日,如6#3表示当月的第三个星期五(6表示星期五,#3表示当前的第三个),而4#5表示当月的第五个星期三,假定当月没有第五个星期三,忽略不触发。
  • C:该字符只在日期和星期字段中使用,代表“Calendar“ 意思。他的意思是计划所关联的日期。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值