SpringBoot-SpringTask定时任务

文章目录

  • [Spring Task 介绍](#Spring Task 介绍)
  • [cron 表达式](#cron 表达式)
  • [Spring Task 入门案例](#Spring Task 入门案例)

Spring Task 介绍

Spring Task 是 Spring 框架提供的任务调度工具,可以按照约定的时间自动执行某个代码逻辑。

作用:定时自动执行某段 Java 代码

应用场景:

  • 信用卡每月还款提醒
  • 银行贷款每月还款提醒
  • 火车票售票系统处理未支付订单
  • 入职纪念日为用户发送通知

cron 表达式

cron 表达式其实就是一个字符串,通过 cron 表达式可以定义任务触发的时间

构成规则:分为 6 或 7 个域,由空格分隔开,每个域代表一个含义

每个域的含义分别为:秒、分钟、小时、日、月、周、年(可选)

在线 Cron 表达式生成器网站

Spring Task 入门案例

Spring Task 使用步骤:

  1. 导入 maven 坐标 spring-context (已经存在于 spring-boot-starter 中)
  2. 启动类添加 @EnableScheduling 开启任务调度
  3. 自定义定时任务类


代码:

java 复制代码
/**
 * 自定义定时任务类
 */
@Component
@Slf4j
public class MyTask {

    @Scheduled(cron = "0/5 * * * * ? ")
    public void executeTask(){
        log.info("定时任务开始执行:{}", new Date());
    }

}

执行结果:

相关推荐
ladymorgana3 小时前
【spring boot】三种日志系统对比:ELK、Loki+Grafana、Docker API
spring boot·elk·grafana
程序员秘密基地4 小时前
基于html,css,vue,vscode,idea,,java,springboot,mysql数据库,在线旅游,景点管理系统
java·spring boot·mysql·spring·web3
xdscode7 小时前
SpringBoot ThreadLocal 全局动态变量设置
java·spring boot·threadlocal
天河归来8 小时前
springboot框架redis开启管道批量写入数据
java·spring boot·redis
合作小小程序员小小店8 小时前
web网页,在线%食谱推荐系统%分析系统demo,基于vscode,uniapp,vue,java,jdk,springboot,mysql数据库
vue.js·spring boot·vscode·spring·uni-app
sniper_fandc9 小时前
SpringBoot系列—MyBatis(xml使用)
java·spring boot·mybatis
咖啡啡不加糖10 小时前
RabbitMQ 消息队列:从入门到Spring Boot实战
java·spring boot·rabbitmq
代码老y13 小时前
Spring Boot项目中大文件上传的高级实践与性能优化
spring boot·后端·性能优化
Xiao_zuo_ya13 小时前
SpringBoot-Freemarker导出word
spring boot·word
kangkang-15 小时前
PC端基于SpringBoot架构控制无人机(二):MavLink协议
java·spring boot·后端·无人机