Cron 表达式

Spring Boot Cron 可视化生成器,六字段格式,14 个预设,实时预览触发时间。

快速预设

字段构建器

星期快速选择

月份快速选择

Cron 表达式

0 0 8 * * ?

Spring Boot

@EnableScheduling  // 启动类上添加
@Scheduled(cron = "0 0 8 * * ?")
public void scheduledTask() {
    // 定时任务逻辑
}

接下来 5 次触发时间

#12026/04/23 08:00:00
#22026/04/24 08:00:00
#32026/04/25 08:00:00
#42026/04/26 08:00:00
#52026/04/27 08:00:00

Spring Boot Cron 与 Linux Cron 有何区别?

Linux crontab 是 5 字段格式:分 时 日 月 周。Spring Boot 的 @Scheduled(cron) 使用 6 字段格式:秒 分 时 日 月 周,在最前面多了一个「秒」字段,这是最常见的踩坑点。

? 和 * 的区别是什么?

* 匹配该字段的所有值。? 表示不指定,只允许用于「日」和「周」字段——当你用「日」指定具体日期时,「周」字段应填 ?,反之亦然,避免两个字段相互冲突。

如何表示每5分钟执行一次?

使用步长语法 /:0 */5 * * * ? 表示每分钟数能被5整除时触发(0, 5, 10...55),秒字段为 0 确保在整分时触发。

如何只在工作日执行?

将周字段设为 MON-FRI(或 1-5),日字段设为 ?。例如:0 0 9 ? * MON-FRI 表示每个工作日早上9点执行。Spring Boot 支持英文缩写 SUN/MON/TUE/WED/THU/FRI/SAT。

需要添加哪些注解才能使定时任务生效?

需要两步:① 在启动类上添加 @EnableScheduling;② 在具体方法上添加 @Scheduled(cron = "..."),该方法所在类需为 Spring 管理的 Bean(@Component、@Service 等)。