cron 表达式语法

Cron表达式基本结构

Cron表达式由七部分组成,每部分由空格分隔,从左到右依次是:

  1. 秒(0~59)
  2. 分钟(0~59)
  3. 小时(0~23)
  4. 日期(1-月最后一天)
  5. 月份(1-12 或 JAN-DEC)
  6. 星期几(1-7, 1表示星期日 或 SUN-SAT)
  7. 年份(可选,留空)

通用特殊字符

*:表示任意值,例如* * * * * ?表示每年每月每天每时每分每秒。

,:表示列表,例如1,2,3 * * * * ?表示每年每月每天每时每分的每个第1秒、第2秒、第3秒。

-:定义范围,例如1-3 * * * * ?表示每年每月每天每时每分的第1秒至第3秒。

/:表示每隔多少,例如5/10 * * * * ?表示从第5秒开始,每10秒一次。

日期和星期的特殊字符

?:只能用在日期和星期部分,表示没有具体的值。日期和星期两个部分如果其中一个部分设置了值,则另一个必须设置为?

L:表示最后(Last),只能用在日期和星期中。在日期中表示每月最后一天,在星期中表示7(星期六),也可结合使用如LW表示每月最后一个工作日。

W:只能用在日期中,表示当月中最接近某天的工作日。

#:只能用在星期中,表示第几个星期几,例如6#3表示每月的第三个星期五。

示例

0/5 * * * * ?:表示每秒的第0秒开始,每隔5秒执行一次。

0 0 8-10 ? * *:表示在上午8点、9点和10点的每分钟的第0秒执行。

0 0/30 8-10 ? * *:表示在上午8点、9点和10点,每隔30分钟执行一次。

0 0 8 ? * MON-FRI:表示在上午8点的每分钟的第0秒,星期一到星期五执行。

0 0 8 L * ?:表示在每月的最后一天的上午8点的每分钟的第0秒执行。

0 0 8 ? * 6L:表示在每月的最后一个星期六的上午8点的每分钟的第0秒执行。

0 0 8 ? * 6#3:表示在每月的第三个星期六的上午8点的每分钟的第0秒执行。

Spring Boot中使用Cron表达式

在Spring Boot中,可以使用@Scheduled注解配合Cron表达式来定义定时任务。

@Component  
public class TestJob {  
  
    @Scheduled(cron = "0/5 * * * * ?")  
    public void testJob() {  
        System.out.println("定时任务执行了");  
    }  
}

以上就是在Spring Boot中如何使用Cron表达式来定义定时任务的简单示例。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值