当前位置: 首页 > article >正文

Spring Task快速入门

Spring Task介绍

Spring Task 是 Spring 框架提供的一种轻量级的定时任务解决方案,可以按照约定时间自动执行某个代码逻辑。它主要用于在 Spring 应用程序中执行定时任务,提供了一种声明式的方式来配置和执行这些任务。Spring Task 支持通过注解和配置文件来定义任务的执行计划,使得任务调度变得简单和直观。

主要特点

  1. 声明式配置:使用 @Scheduled 注解可以轻松地将方法声明为定时任务。
  2. 集成 Spring 生态:与 Spring 的其他组件(如 Spring Beans 和 Spring AOP)紧密集成。
  3. 灵活的任务调度:支持多种调度策略,包括基于 cron 表达式的复杂调度和简单的固定延迟或固定率调度。
  4. 异常处理:提供了灵活的异常处理机制,可以对任务执行中的异常进行捕获和处理。
  5. 日志记录:集成了 Spring 的日志框架,方便记录任务的执行信息和状态。

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

应用场景

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

cron表达式

  • cron表达式其实就是一个字符串,通过cron表达式可以定义任务触发的时间
  • 构成规则:分为6或7个域,由空格分隔开,每个域代表一个含义
  • 每个域的含义分别为:秒、分钟、小时、日、月、周、年(可选)

比如
2022年10月12日上午9点整对应的cron表达式为:0 0 9 12 10 ? 2022

在这里插入图片描述
想要手写cron表达式还是比较困难的,推荐使用cron表达式在线生成器:https://cron.qqe2.com/

Spring Task使用步骤:

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

如下图所示:在具体需要定时处理的方法上添加@Scheduled(cron = "0/5 * * * * ? ")注解并设置cron表达式
当前cron表达式设置的是每五秒执行一次
在这里插入图片描述


http://www.kler.cn/news/322639.html

相关文章:

  • Autosar学习----AUTOSAR_SWS_BSWGeneral(七)
  • 【GUI设计】基于Matlab的图像特征提取GUI系统(9),matlab实现
  • Win10 QT 配置Android开发环境-jdk/sdk/gradle
  • excel数据常用函数学习记录
  • 0基础跟德姆(dom)一起学AI 数据处理和统计分析05-Pandas数分入门
  • overlayscrollbars使用
  • 【JavaEE精炼宝库】HTTP | HTTPS 协议详解
  • react crash course 2024(7) react router dom
  • 精选10个热门目标检测数据集
  • 基于QT的C++中小项目软件开发架构源码
  • oracle生成时间戳字符的两种方法
  • 教师管理系统小程序+ssm论文源码调试讲解
  • 什么是数据倾斜
  • LeetCode[简单] 136. 只出现一次的数字
  • 网络:TCP协议-报头字段
  • webpack 4 的 30 个步骤构建 react 开发环境
  • mysql复合查询 -- 多表查询(介绍,笛卡尔积,使用),自连接(介绍,使用)
  • MySQL tinyint(1)类型数据在经过flink cdc同步到doris后只有0/1问题定位与解决
  • C#自定义工具类-数组工具类
  • XML 实例:深入解析与实际应用
  • 如何从格式化的笔记本电脑或台式机中恢复照片
  • C++进阶—>这3个问题难道搞不懂多态???
  • 对Spring-AI系列源码的讲解
  • 线性判别分析 (LDA)中目标函数对S_w进行奇异值分解的说明
  • 如何在Mac上查看剪贴板历史记录
  • 数据技术进化史:从数据仓库到数据中台再到数据飞轮的旅程
  • python示例(加减乘除....)
  • Hive SQL业务场景:连续5天涨幅超过5%股票
  • 排序--堆排序【图文详解】
  • C++入门day5-面向对象编程(终)