spring task它基于注解和配置,可以轻松实现任务的周期性调度、延迟执行或固定频率触发。按照我们约定的时间自动执行某段代码。例如闹钟
使用场景
每月还款提醒,未支付的订单自动过期,收到快递后自动收货,系统自动祝你生日快乐等
cron表达式
cron表达式是一个字符串,通过cron表达式用来定义任务触发时间
不知道的位置写“ ?”。日和周往往只写一个
举个例子
cron表达式有在线的生成器,不用自己手写。
使用步骤
- 导入maven坐标:spring-context
- 启动类添加注解@EnableScheduling
- 自定义定时任务类
自定义定时任务类上要加@Component注解,实例化,交给spring容器管理
方法上加@Scheduled()注解,里面可以写cron表达式
@Scheduled(cron = "0 0 2 * * ?") // 每天凌晨2点执行
public void dailyTask() {
// 清理日志、生成报表等
}
重点就在写业务逻辑和cron表达式