Spring Task定时器的使用
Spring Task是Spring框架提供的任务调度工具(定时任务框架)
可以按照约定的时间自动执行某个代码逻辑
准备
- 导入maven坐标
spring-context
中已经包含 - 启动类添加注解
@EnableScheduling
开启任务调度 - 自定义定时任务类
cron表达式
cron表达式就是一个字符串
通过cron表达式可以定义任务触发的时间
- 构成规则
- 分为6或7个域,由空格分隔开,每个域代表一个含义
- 每个域的含义分别为:秒、分钟、小时、日、月、周、年(可选)
- 周、日不能同时出现
- 分为6或7个域,由空格分隔开,每个域代表一个含义
Eg:
2024-3-20 9:0:0 ==> 0 0 9 20 3 ? 2024
cron表达式生成工具
使用
@Component
@Slf4j
public class MyTask {
/**
* 定时任务,每5秒触发一次
*/
@Scheduled(cron = "0/5 * * * * ?")
public void executeTask() {
log.info("定时任务开始:{}", new Date());
}
}