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

SpringBoot项目使用Schedule注释创建定时任务

文章目录

  • 知识讲解
    • 相关注释(主要两个,@EnableScheduling和@Scheduled)
    • scheduled的cron语法
  • 代码
    • 项目目录结构
    • 启动类(Application)
  • 定时任务类(Task)
    • 配置类(application.properties)
    • pom依赖
  • 展望(Quartz)

知识讲解

相关注释(主要两个,@EnableScheduling和@Scheduled)

@EnableScheduling注解: 在配置类上使用,开启计划任务的支持(类上)。
@Scheduled注解: 来声明这是一个任务,包括 cron,fixDelay,fixRate 等类型(方法上,需先开启计划任务的支持)。
注:
可以为@Scheduled注解的方法再用@PostConstruct注释(该注解的作用时刚启动SpringBoot项目时就执行该方法)

scheduled的cron语法

经典案例:
“1 * * * * ?” 每一分钟触发一次任务
“30 10 * * * ?” 每小时的10分30秒触发任务
“30 10 1 * * ?” 每天1点10分30秒触发任务
“30 10 1 20 * ?” 每月20号1点10分30秒触发任务
“30 10 1 20 10 ? *” 每年10月20号1点10分30秒触发任务
“30 10 1 20 10 ? 2011” 2011年10月20号1点10分30秒触发任务
“30 10 1 ? 10 * 2011” 2011年10月每天1点10分30秒触发任务
“30 10 1 ? 10 SUN 2011” 2011年10月每周日1点10分30秒触发任务
“15,30,45 * * * * ?” 每15秒,30秒,45秒时触发任务
“15-45 * * * * ?” 15到45秒内,每秒都触发任务
“15/5 * * * * ?” 每分钟的每15秒开始触发,每隔5秒触发一次
“15-30/5 * * * * ?” 每分钟的15秒到30秒之间开始触发,每隔5秒触发一次
“0 0/3 * * * ?” 每小时的第0分0秒开始,每三分钟触发一次
“0 15 10 ? * MON-FRI” 星期一到星期五的10点15分0秒触发任务
“0 15 10 L * ?” 每个月最后一天的10点15分0秒触发任务
“0 15 10 LW * ?” 每个月最后一个工作日的10点15分0秒触发任务
“0 15 10 ? * 5L” 每个月最后一个星期四的10点15分0秒触发任务
“0 15 10 ? * 5#3” 每个月第三周的星期四的10点15分0秒触发任务
感谢大佬,原链接如下
例子链接:https://blog.csdn.net/qq_39361915/article/details/113507521

具体语法详见此篇文档的3、cron表达式,

代码

项目目录结构

在这里插入图片描述

启动类(Application)

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;@SpringBootApplication
@EnableScheduling//按照时间cron对象的频率执行所有@Scheduled注释的方法
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}
}

定时任务类(Task)

package nju.software;import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;import javax.annotation.PostConstruct;@Component
public class Task {@Scheduled(cron = "1 * * * * ?")//每1分钟执行一次该方法@PostConstruct//刚启动SpringBoot项目时就执行该方法public void task1(){System.out.println("执行定时任务!!");}}

配置类(application.properties)

server.port = 8191
server.ip = 127.0.0.1

pom依赖

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.4</version><relativePath/> <!-- lookup parent from repository -->
</parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies>

展望(Quartz)

目前此种标识只能实现单线程定时任务,如果需要多线程的定时任务需要借助Quartz框架实现。(等待未来使用到再写教程)

相关文章:

SpringBoot项目使用Schedule注释创建定时任务

文章目录知识讲解相关注释&#xff08;主要两个,EnableScheduling和Scheduled&#xff09;scheduled的cron语法代码项目目录结构启动类&#xff08;Application&#xff09;定时任务类(Task)配置类&#xff08;application.properties&#xff09;pom依赖展望&#xff08;Quart…...

学习 Python 之 Pygame 开发魂斗罗(十一)

学习 Python 之 Pygame 开发魂斗罗&#xff08;十一&#xff09;继续编写魂斗罗1. 改写主类函数中的代码顺序2. 修改玩家初始化3. 显示玩家生命值4. 设置玩家碰到敌人死亡5. 设置敌人子弹击中玩家6. 修改updatePlayerPosition()函数逻辑继续编写魂斗罗 在上次的博客学习 Pytho…...

Linux驱动开发

一、驱动分类Linux中包含三大类驱动&#xff1a;字符设备驱动、块设备驱动和网络设备驱动。其中字符设备驱动是最大的一类驱动&#xff0c;因为字符设备最多&#xff0c;从led到I2C、SPI、音频等都属于字符设备驱动。块设备驱动和网络设备驱动都要比字符设备驱动复杂。因为其比…...

32--Vue-前端开发-Vue语法之组件化开发

一、vue语法回顾 购物车的例子 eg1:计算商品价格(掌握对象的迭代方法) <!DOCTYPE html> <html lang="en"> <head>...

打怪升级之CFileDialog类介绍

CFileDialog类 CFileDialog封装用于文件打开操作或文件保存操作的常见对话框。信息来源自Windows官方文档&#xff1a;https://learn.microsoft.com/zh-cn/cpp/mfc/reference/cfiledialog-class?viewmsvc-170 这里重点介绍几个常用的函数功能&#xff1a; 构造函数 explic…...

配天智造自主原创数字工厂:百余名员工人均创收122万

配天智造&#xff08;832223&#xff09;2022年度报告显示&#xff0c;报告期内公司实现营业收入1.3亿元&#xff0c;同比增长52%&#xff0c;归属于挂牌公司股东的净利润3867万元&#xff0c;同比增长28.11%。而这家公司全部在职员工仅有107人&#xff0c;人均创收约为122万。…...

COLMAP

简介&#xff1a;在使用instant-ngp过程中需要使用COLMAP得到模型的必要输入&#xff0c;比如模型需要的相机外参我们就可以通过COLMAP中的sparse reconstruction稀疏重建得到&#xff1b;而对于depth map深度图我们则需要dense reconstruction稠密重建得到&#xff0c;下面我们…...

2023-3-8 刷题情况

礼盒的最大甜蜜度 题目描述 给你一个正整数数组 price &#xff0c;其中 price[i] 表示第 i 类糖果的价格&#xff0c;另给你一个正整数 k 。 商店组合 k 类 不同 糖果打包成礼盒出售。礼盒的 甜蜜度 是礼盒中任意两种糖果 价格 绝对差的最小值。 返回礼盒的 最大 甜蜜度。…...

关于长连接服务器和客户端之间要加入心跳的一些讨论

在之前的章节里深入浅出TCPIP之深入浅出TCPIP之TCP重传机制 我们都知道了TCPIP协议栈有个默认的TCP心跳机制,这个心跳机制是和socket绑定的,可以对指定的套接字开启协议栈的心跳检测机制。默认情况下,协议栈的心跳机制对socket套接字是关闭的,如果要使用需要人为开启的。 比…...

LeetCode——1590. 使数组和能被 P 整除

一、题目 给你一个正整数数组 nums&#xff0c;请你移除 最短 子数组&#xff08;可以为 空&#xff09;&#xff0c;使得剩余元素的 和 能被 p 整除。 不允许 将整个数组都移除。 请你返回你需要移除的最短子数组的长度&#xff0c;如果无法满足题目要求&#xff0c;返回 -1…...

12N65-ASEMI高压MOS管12N65

编辑-Z 12N65在TO-220封装里的静态漏极源导通电阻&#xff08;RDS(ON)&#xff09;为0.68Ω&#xff0c;是一款N沟道高压MOS管。12N65的最大脉冲正向电流ISM为48A&#xff0c;零栅极电压漏极电流(IDSS)为10uA&#xff0c;其工作时耐温度范围为-55~150摄氏度。12N65功耗&#x…...

cushy-serial 一个轻量级Python serial库

本文自笔者博客: https://www.blog.zeeland.cn/archives/rgoihgxcoci3 简介 cushy-serial是一个轻量级的Serial框架&#xff0c;初衷是希望使Serial编程变得更加简单、快捷&#xff0c;因此&#xff0c;相较于传统的pyserial&#xff0c;该框架可以更加快速地构建起一个serial…...

音视频开发系列(7)——Opengl常用Api介绍part1

GLES20.glTexParameteri GLES20.glTexParameteri是OpenGL ES 2.0用于设置纹理过滤器和纹理包装模式的函数。它有三个参数&#xff1a; target参数 target参数指定要设置纹理参数的纹理目标&#xff0c;根据不同的target值&#xff0c;glTexParameteri函数的行为也会有所不同…...

linux时间的特殊用法

今天介绍linux下Date时间命令相关的特殊用法 date (当前的时间) 修改系统当前时间&#xff1a; date -s "2022-6-20 9:33:50" 昨天的时间是我们比较常用的&#xff1a; date -d "yesterday" %Y%m%d ( 昨天的时间) date -d "1 day ago" %Y%m%d …...

axios 封装,API接口统一管理

分享一个自己封装的 axios 网络请求 主要的功能及其优点&#xff1a; 将所有的接口放在一个文件夹中管理&#xff08;api.js&#xff09;。并且可以支持动态接口&#xff0c;就是 api.js 文件中定义的接口可以使用 :xx 占位&#xff0c;根据需要动态的改变。动态接口用法模仿…...

SpringBoot使用Redis实现缓存

目录 实现步骤 1. 在 pom.xml 配置文件中添加如下依赖 2. 在 application.properties 中添加如下配置 3. 新建 RedisConfig.class&#xff0c;继承 CachingConfigurerSupport&#xff0c;添加如下方法 4. 新建 RedisService.class 添加如下方法 注意&#xff1a;cacheKey…...

[失业前端恶补算法]JavaScript leetcode刷题top100(三)

专栏声明&#xff1a;只求用最简单的&#xff0c;容易理解的方法通过&#xff0c;不求优化&#xff0c;不喜勿喷 今天更新五个 easy 难度题目&#xff1a; 相交链表 题面 给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个…...

Spark RDD的设计与运行原理

一、Spark RDD概念 一个RDD就是一个分布式对象集合&#xff0c;本质上是一个只读的分区记录集合&#xff0c;每个RDD可以分成多个分区&#xff0c;每个分区就是一个数据集片段&#xff0c;并且一个RDD的不同分区可以被保存到集群中不同的节点上&#xff0c;从而可以在集群中的…...

Golang的下载与安装

Windows系统 进入golang官方下载网站:所有版本 - Go 编程语言如图所示 下载后打开您下载的 MSI 文件,然后按照提示安装 Go。 验证是否已安装 Go。...

广州蓝景分享—8大Web前端开发的趋势

2023 年 1 月 11 日&#xff0c;2022 年度 StateOfJS 调查结果正式公布&#xff01;StateOfJS 是前端生态圈中比较有影响力的且规模较大的数据调查。本文就来解读一下 2022 年 StateOfJS 的调查结果&#xff01; JavaScript 发展很快&#xff0c;但似乎 JavaScript 开发人员的…...

Java学习-MySQL-创建数据库表

Java学习-MySQL-创建数据库表 SHOW DATABASESUSE school CREATE TABLE IF NOT EXISTS student( id INT(10) NOT NULL AUTO_INCREMENT COMMENT 学号, name VARCHAR(30) NOT NULL DEFAULT 匿名 COMMENT 姓名, pws VARCHAR(20) NOT NULL DEFAULT 123456 COMMENT 密码, sex VARCHA…...

Ethercat学习-GD32以太网学习

文章目录1、GD32F4以太网简介2、以太网模框图简介3、以太网主要模块介绍SMI接口RMII接口与MII接口DMA控制器4、以太网配置流程5、其他1、GD32F4以太网简介 GD32F4系列以太网模块包含10/100Mbps以太网MAC&#xff0c;数据的收发都通过DMA进行操作&#xff0c;支持MII&#xff0…...

项目规模估算如何精准 4大注意事项

项目报价&#xff0c;需要首先进行项目规模估算&#xff0c;如何估算更精准&#xff0c;6大注意事项。 1、项目范围规划 在项目估算前&#xff0c;需要对项目范围进行规划&#xff0c;这包括所有活动以及开发可交付产品所需的流程。范围规划是前提&#xff0c;它明确定义了项目…...

低代码:助力乡村振兴事业开启“智慧模式”

伴随着脱贫攻坚目标任务的全面完成&#xff0c;我国“三农”工作重心历史性地转向全面推进乡村振兴&#xff0c;这也标志着我国农业农村工作迈上了一个新台阶。 什么是乡村振兴&#xff1f; 乡村振兴是新时代“三农”工作的总抓手&#xff0c;坚持农业农村优先发展&#xff0c;…...

Flutter——Isolate主线机制

简述 在DartFlutter应用程序启动时&#xff0c;会启动一个主线程其实也就是Root Isolate,在Root Isolate内部运行一个EventLoop事件循环。所以所有的Dart代码都是运行在Isolate之中的&#xff0c;它就像是机器上的一个小空间&#xff0c;具有自己的私有内存块和一个运行事件循…...

提取游戏《Limbus Company》(边狱公司)内素材

授人以鱼&#xff0c;不如授人以渔。 目录 注意事项 寻找音频文件 .bytes转为.fsb 必备工具 步骤 解决乱码 必备工具 步骤 提取.fsb文件 必备工具 可备工具 步骤 注意事项 文章关于出现乱码的处理方法和与编码相关的部分有误&#xff0c;已于2023/3/10更正。 相关…...

学生信息表

目录 一、功能说明 二、核心思想 三、所用知识回顾 四、基本框架 五、js功能实现部分 一、功能说明 &#xff08;1&#xff09;输入对应的信息&#xff0c;点击录入可以为下面的表格添加一条记录&#xff0c;注意当所填信息不完整时不允许进行提交。 &#xff08;2&…...

FOTA在AUTOSAR中的应用

FOTA介绍 FOTA(Firmware Over-The-Air)移动终端的空中下载软件升级,指通过云端升级技术,为具有连网功能的设备:例如手机、平板电脑、便携式媒体播放器、移动互联网设备等提供固件升级服务,用户使用网络以按需、易扩展的方式获取智能终端系统升级包,并通过FOTA进行云端升…...

2023/3/10 Vue核心知识的学习- Vue - v-model双向绑定原理

https://www.jianshu.com/p/2682b5a26869 定义&#xff1a;vue中双向绑定就是指v-model指令&#xff0c;可以绑定一个响应式数据到视图&#xff0c;同时视图中变化能同步改变该值。 通过Object.defineProperty( )对属性设置一个set函数&#xff0c;当数据改变了就会来触发这个…...

面朝大海,春暖花开丨2023年Kaadas凯迪仕全国经销商大会成功召开

3月8日&#xff0c;We——2023年Kaadas凯迪仕全国经销商大会将在中国青岛星光岛会议中心隆重举行&#xff0c;盛会汇聚了超过1000名优秀合作伙伴&#xff0c;规模空前。Kaadas凯迪仕品牌创始人&集团总裁苏志勇先生、集团董事长苏祺云先生以及各高层领导均莅临现场。 大会伊…...

一台电脑如何做网站/查询关键词网站

Tar&#xff08;Tape ARchive&#xff0c;磁带归档的缩写&#xff09;tar [OPTION]...(1) 创建归档tar -c -f -v /PATH/TO/SOMEFILE.tar FILE... -v查看过程(2) 追加文件至归档&#xff1a;注&#xff1a;不支持对压缩文件追加tar -r -f /PATH/TO/SOMEFILE.tar FILE...(3) 查…...

新建网站/鸿科经纬教网店运营推广

重要的提示 &#xff1a; 要了解 Elastic 当前如何评估我们产品中此漏洞的内部风险&#xff0c;请参阅此处 概述 这篇博文提供了 CVE-2021-44228 的摘要&#xff0c;并为 Elastic Security 用户提供了检测&#xff0c;以发现他们环境中对该漏洞的主动利用。 随着我们了解更多…...

济源专业网站建设(制作网站)/三个关键词介绍自己

11月7日消息&#xff0c;办公设备租赁平台“人人租机”已完成数千万元A 轮融资&#xff0c;本轮的投资方为蚂蚁金服。据悉&#xff0c;本次融资将用于团队建设、上游商家整合以及线下租赁服务入口的铺设。 人人租机成立于2016 年6 月&#xff0c;是一个B2B 信用免押租赁平台&a…...

电子商务网站建设影响因素/如何让百度收录

来源 | Python数据科学&#xff08;ID:PyDataScience&#xff09;本文为不同阶段的Python学习者从不同角度量身定制了49个学习资源。初学者Welcome to Python.orghttps://www.python.org/官方Python站点提供了一个开始使用Python生态系统和学习Python的好方法&#xff0c;包括官…...

dede建设网站/福州百度快速优化

实验报告 课程名称 基于Android平台移动互联网开发 实验日期 2016年4月8日 实验项目名称 数独游戏界面设计 实验地点 S30010 实验类型 □验证型 √设计型 □综合型 学 时 2 一、实验目的及要求&#xff08;本实验所涉及并要求掌握的知识点&#xff09; 1&a…...

网站 引导页 设计/30个免费货源网站

本文实例讲述了PHP使用curl_multi_select解决curl_multi网页假死问题的方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;curl_multi可以批处理事务&#xff0c;给网页编程带来很大的方便。不过在使用curl_multi的过程中&#xff0c;我们会遇到一个比较头疼的问题&a…...