背景
软件开发是一门实践性科学,对大多数人来说,学习一种新技术不是一开始就去深究其原理,而是先从做出一个可工作的DEMO入手。但在我个人学习和工作经历中,每次学习新技术总是要花费或多或少的时间、检索不止一篇资料才能得出一个可工作的DEMO,这占用了我大量的时间精力。因此本文旨在通过一篇文章即能还原出可工作的、甚至可用于生产的DEMO,期望初学者能尽快地迈过0到1的这一步骤,并在此基础上不断深化对相关知识的理解。
为达以上目的,本文会将开发环境、工程目录结构、开发步骤及源码尽量全面地展现出来,文字描述能简则简,能用代码注释的绝不在正文中再啰嗦一遍,正文仅对必要且关键的信息做重点描述。
介绍
开发Spring Boot应用创建定时任务的方法包括:
- 使用
@Scheduled
注解实现创建静态定时任务; - 实现
org.springframework.scheduling.annotation.SchedulingConfigurer
接口自定义配置定时任务; - 集成 Quarz、ElasticJob、xxl-job 等第三方任务调用框架。
本文介绍最基本的使用 @Scheduled
注解实现创建静态定时任务。@Scheduled
注解创建定时任务的方式主要有以下几种:
fixedRate
|fixedRateString
:按照固定频率节奏执行任务,即每隔一段时间都会执行任务。无论上一次定时任务是否已执行完成;fixedDelay
|fixedDelayString
:按照固定时间间隔执行任务,即上一次任务结束至下一次任务开始之间的时间间隔是固定的。cron
:按照CRON表达式执行,CRON表达式是一个字符串,由6到7个字段组成,用空格分隔。其中前6个字段是必须的,最后一个是可选的,每个字段依次对应秒
分
小时
日
月
周
年
。initialDelay
:首次任务在应用启动后延迟多久才开始执行,仅执行一次。
开发环境
分类 | 名称 | 版本 |
---|