千家信息网

SpringBoot定时任务怎么实现

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要讲解了"SpringBoot定时任务怎么实现",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"SpringBoot定时任务怎么实现"吧!Spr
千家信息网最后更新 2026年11月03日SpringBoot定时任务怎么实现

这篇文章主要讲解了"SpringBoot定时任务怎么实现",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"SpringBoot定时任务怎么实现"吧!

SpringBoot定时任务主要由两个注解完成。

@Scheduled加在方法上面。

@EnableScheduling加在类上面。可以是Application类,也可以是@Component类,还可以是@Controller类等。了解springcloud架构可以加求求:三五三六二四七二五九

如下

@SpringBootApplication@EnableSchedulingpublic class Application {     public static void main(String[] args) {        SpringApplication.run(Application.class, args);    }}

如果@EnableScheduling不想加在Application上方,也可以如下

@Component@EnableSchedulingpublic class ScheduledTasks {    private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");    @Scheduled(fixedRate = 5000)    public void reportCurrentTime() {        System.out.println("现在时间:" + dateFormat.format(new Date()));    }}

@Scheduled用法如下:

@Scheduled(fixedRate = 5000) :上一次开始执行时间点之后5秒再执行 @Scheduled(fixedDelay = 5000) :上一次执行完毕时间点之后5秒再执行 @Scheduled(initialDelay=1000, fixedRate=5000) :第一次延迟1秒后执行,之后按fixedRate的规则每5秒执行一次 @Scheduled(cron="0 */1 * * * ?  ") :通过cron表达式定义规则,表示每隔1分钟执行一次

cron表达式的用法如下:

cron表达式依次表示 [秒] [分] [小时] [日] [月] [周] [年]

常见的Cron示例如下:

*/5 * * * * ?                              表示每隔5秒执行一次        0 */1 * * * ?                              表示每隔1分钟执行一次     0 15 10 ? * MON-FRI                表示在每个周一,二, 三和周四的 10:15 AM    0 15 10 10 * ?                          表示每月10号的 10:15 AM       0 15 10 L * ?                            每月最后一天的 10:15 AM   0 10 10 ? * 6L                          每月最后一个周五的 10:10 AM         0 10 10 ? * 6L 2014-2017          在 2014, 2015, 2016, 和 2017 年中的每月最后一个周五的 10:10 AM      0 15 10 ? * 6#3                        每月第三个周五的 10:15 AM    0 0 12 1/5 * ?                           每月从第一天算起每五天的 12:00 PM (中午)     0 11 11 11 11 ?                        每一个 11 月 11 号的 11:11 AM  0 10,44 14 ? 3 WED                   三月份每个周三的 2:10 PM 和 2:44 PM

其中,表达式中的特殊符号的意义是:

"*" 代表这个时间单位的整个时间段.比如 *放在秒上面,就是指任意秒,*放在分上面就是任意分。

"?"字符:表示不确定的值(注意:? 号只能用在日和周域上,但是不能在这两个域上同时使用。假如你为这两域的其中一个指定了值,那就必须在另一个字值上放一个 ?,如:0 0 0 * * ?)

","字符:指定数个值

"-"字符:指定一个值的范围

"/"字符:指定一个值的增加幅度。n/m表示从n开始,每次增加m

"L"字符:用在日表示一个月中的最后一天,用在周表示该月最后一个星期X

"W"字符:指定离给定日期最近的工作日(周一到周五)

"#"字符:表示该月第几个周X。5#2表示该月第2个周四(每周的第一天是从周日开始的,即:周日的值为:1)

感谢各位的阅读,以上就是"SpringBoot定时任务怎么实现"的内容了,经过本文的学习后,相信大家对SpringBoot定时任务怎么实现这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

字符 任务 时间 表达式 就是 学习 两个 内容 规则 上一 特殊 三个 代表 单位 同时 小时 工作日 常见 幅度 思路 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技活动banner 互联网巨头科技公司 互联网与科技发展 互联网科技公司发展 唐信互联网科技 大连 互联网 视角下的科技创新 互联网科技创新企业排名 常德市电业局互联网科技部 宁夏众和广鑫互联网科技有限公司 互联网公司科技股 广州市恰铎互联网科技有限公司 东莞新华互联网科技学校 合肥互联网科技公司公章图片 科技互联网行业投资研究 版纳互联网科技选哪家 互联网金融运营模式中的金融科技 互联网时代高科技布局 玉溪新华互联网科技怎么选 中国主要互联网科技公司 颐高云石互联网科技 北京互联网络科技有限公司 奇酷互联网络科技公司 彤创互联网科技有限公司 知域互联网科技有限公司大骗子 互联网科技大奖都有哪些公司 烟台灵鸽互联网科技有限公司 浙南科技城互联网大厦招聘 易租星互联网科技有限公司 银川新华互联网科技学校原画 北京品多多互联网科技有限公司
0