带你快速掌握Spring Task

Spring Task

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

📌一款定时任务框架

  • 应用场景
  1. 信用卡信息
  2. 银行贷款信息
  3. 火车票信息

只要是需要定时处理的场景都可以使用Spring Task


只要有定时,就会有定时的时间规定,这里用cron表达式

cron表达式

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


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

每个域的含义表示依次是:,分钟,小时,,,,(可选)

我们举个例子:2024年,1月1日上午2点整:
0 0 9 1 1 ? 2024

在周的位置写问号,是避免与月日冲突,有了月日自然就会有对应的星期数

*:每秒的通配符(适用于其它单位)
0-5:表示从第0秒到第5秒执行(适用于其它单位)
0/5:表示每隔五秒(适用于其它单位)
5/6:表示每隔6秒触发一次,从第5秒开始循环(适用于其它单位)

⭐如果不想自己打字符串,我们可以借助cron在线生成器

📌在线生成器:https://cron.qqe2.com/


如何使用

第一步:导入maven坐标Spring-context
在这里插入图片描述
第二步:启动类添加注解 @EnableScheduling开启任务调度
第三步:自定义任务类

/**
 * 定时任务类
 */
@Slf4j
@Component
public class Mytask {
    @Scheduled(cron = "0/5 * * * * ? ")
    public void executeTask(){
        System.out.println("启动定时任务!");
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/602518.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

QT7_视频知识点笔记_2_对话框,布局,按钮,控件(查看帮助文档找功能函数)

第二天: 对话框,布局,按钮 QMainWindow:菜单下拉框添加之后可通过ui->actionXXX(自定义的选项名)访问,用信号triggered发出信号,槽函数可以使用lambda表达式进行 //菜单栏&am…

一文搞懂MySQL索引的数据结构

一、引言 在数据库管理系统中,索引是提高查询性能的关键所在。对于MySQL这类关系型数据库来说,索引更是其优化查询不可或缺的一部分。索引能够大大加快数据的检索速度,减少数据库的I/O操作,提高数据库的整体性能。本文将从索引的…

U盘管控软件,禁止员工用U盘拷贝机密数据,防止信息通过U盘泄露

随着信息技术的不断发展,U盘等便携式存储设备已成为我们日常工作中不可或缺的工具。然而,随着U盘的普及,企业面临的信息泄露风险也在不断增加。为了确保企业的信息安全,许多企业开始采用U盘管控软件,禁止员工使用U盘拷…

Gen-2颠覆AI生成视频!一句话秒出4K高清大片,网友:彻底改变游戏规则

这,绝对称得上是生成式AI进程中的里程碑。 就在深夜,Runway家标志性的AI视频生成工具Gen-2,迎来了“iPhone时刻”般的史诗级更新—— 依旧是简单一句话输入,不过这一次,视频效果一口气拉到了4K超逼真的高度&#xff…

Linux各目录及每个目录的详细介绍

目录 /bin 存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里。 /etc 存放系统管理和配置文件 /home 存放所有用户文件的根目录,是用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示 /us…

DInet

(1)数据: 1):随机获取5帧参考帧 2):处理这5帧连续帧,:source_frames:连续5帧的crop_moth b)audio_list:连续5帧的每一帧对应的5帧音频mel特征 c):refs:fintune 固定参考帧&#xff0…

「PolarDB-X入门到精通」第六讲:MySQL生态兼容

在上一阶段的课程中,已经和大家一起了解了PolarDB分布式数据库的产品架构,并且带领大家一起分别通过PXD、源码编译完成了PolarDB-X 的安装部署。在接下来的课程中,我们将继续带领大家一起学习PolarDB-X的产品特性。 在本期的课程中&#xff0…

激光雷达扫描:高效精准的车辆长宽高检测系统

因泰立科技激光式车辆长宽高检测系统广泛应用于固定式治超站、高速公路入口治超站、非现场执法站、物料场、停车场的车辆的长宽高检测,实现不停车实时获取车辆长宽高信息。 总体方案 本系统采用高精度的激光扫描检测技术,可以对车辆进行立体的扫描&…

Vue线上环境禁止打印console.log

当我们在开发项目时,我们会使用大量的console.log,这样方便我们去调试,但是当正常上线后,在生产环境,我们是不喜欢打印的信息暴露在浏览器控制台的。 这时候我们可以通过一行代码解决: 在main.js文件中添加…

公众号流量主的收益怎么样?

公众号之前是一个私域平台,没有粉丝基本是没有推荐的,所以之前入门的门槛还是很高的,但是今年公众号和视频号改变了推流的机制,现在发的文章会进入到流量池中,进入到公域流量,所以发布的优质文章会大爆的&a…

docker部署elasticsearch7.7.0级拼音(pinyin)插件和分词(ik)插件

拉取并启动es docker run -d --namees -p 9200:9200 -p 9300:9300 -e "discovery.typesingle-node" elasticsearch:7.7.0安装pinyin插件 下载pinyin插件 下载ik插件 上传插件到服务器 docker cp /path/to/elasticsearch-analysis-pinyin-7.7.0.zip elasticsearch…

Eclipse 常用快捷键和操作总结

keywords: Eclipse 快捷键 C --> Ctrl S --> Shift A --> Alt 功能快捷键显示所有快捷键C-S-l开/关注释C-/显示 outlineC-o当前打开的文件列表C-e快速查找打开文件C-S-r查找C-h查找后跳到下一处C-.UndoC-zRedoC-y跳到指定行C-l自动补全A-/自动解决导入包问题C-S-…

项目启动后 数据库表结构会被自动修改 删除字段

问题还原 我这表是有warehouse_code这个字段的 然后我启动项目后,发现这个字段被删除了 解决办法 看你的配置中是否有下面的配置 把这个配置删除就行了,这配置是根据Java实体来来创建修改数据库结构的

CST电磁仿真查看模型的截面结构和生成Spice模型【入门教程】

通过Logfile查看仿真统计 一次性了解仿真统计! Post-Processing > Manage Results > Logfile 利用CPU Threads、Mesh Cells、Time Steps以及Total Solver Time等Logfile,可以一目了然地了解仿真统计。 (1)点击Post-Processing选项卡…

Android 右键 new AIDL 无法选择

提示 (AIDL File)Requires setting the buildFeatures.aidl to true in the build file) 解决方式: 在app的build.gradl中 adnroid{} 添加: buildFeatures{aidl true}

Google准备好了吗?OpenAI发布ChatGPT驱动搜索引擎|TodayAI

在科技界波澜壮阔的发展中,OpenAI正式宣布其最新突破——一个全新的基于ChatGPT技术的搜索引擎,旨在直接挑战谷歌在搜索领域的统治地位。这一创新将可能彻底改变用户上网搜索的方式。 据悉,这款AI驱动的搜索引擎利用了ChatGPT的强大功能&…

Axure中继器介绍以及案例分享

中继器是 Axure 中一个比较高阶的应用,它可以让我们在纯静态网页中模拟出类似带有后台数据交互的增删改查的效果。 一、中继器的基本使用方法: 整体流程分为三个步骤 ☆创建中继器 我们先在 Axured画布中拖入一个中继器元件 双击中继器后的效果 打开之…

图书管理系统调整——修改注解(引入IoC、DI思想)

这里修改的还是比较简单,我们知道,五大注解通常情况下是可以混用的,而这里的BookController和UserController的注解不变 ,也不能改变,因为Controller除了交给Spring管理外,还具备一定的路由功能&#xff0c…

一路串联电机的绕制原理

这里要说明的一点是 对于一路串联的电机,无论是一把线圈还是两把线圈,出来的都是只有两个线头,可看做一个整体来对待! 绕制具体原理 同心式线圈绕制 前面说的都是等距式的 线圈绕制,下面我们讲解一下同心式的绕制办法…

C语言 | Leetcode C语言题解之第74题搜索二维矩阵

题目&#xff1a; 题解&#xff1a; bool searchMatrix(int** matrix, int matrixSize, int* matrixColSize, int target) {int m matrixSize, n matrixColSize[0];int low 0, high m * n - 1;while (low < high) {int mid (high - low) / 2 low;int x matrix[mid /…