SpringBoot内置提供的定时器详解教程,图文详解含代码

关于给springboot添加定时器的两种方式 如何在springboot中添加定时器,让程序定时运行。 立即下载

定时器常见的几种方式 :

  1. JDK自带的java.util.Timer类 ,但是只能按照某一个频率执行,这个类允许你调度一个java.util.TimerTask任务。使用这种方式可以让你的程序按照某一个频度执行,但不能在指定时间运行。一般用的较少。也就学Java初期会这么自己玩下,企业中一般不使用

  2. Quertz 一个功能比较强大的调度器,让程序在指定的时间执行(例如:每天12点更新某些数据),也可以按照你指定的频率执行(几秒/几分钟执行一次),但是配置起来比较复杂

  3. Spring3.0 以后自带的定时器task,可以将它看着一个轻量级的Quartz,而且使用起来比Quartz简单许多.我们可以使用的就是该方式进行定时任务的调度

我个人也比较喜欢这种方式,相比Quertz便捷很多

先从pom.xml文件看起 :

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.wangjiulong</groupId>
	<artifactId>spring-boot-task</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.1.9.RELEASE</version>
	</parent>
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
	</properties>
	<dependencies>
		<!-- web支持:1.webMvc 2.restFul 3.jackJson 4.aop... -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
	</dependencies>
</project>

因为是springboot内置提供的,所以只需要导入springboot的包就可以了

在你的启动类上写上注解@EnableScheduling,目的是为了告诉人家你有一个定时任务

在这里插入图片描述

然后编写一个定时器类,在类上加上注解:
@EnableScheduling
作用 : 登记所有使用@Scheduled注解的bean方法到一个ScheduledTaskRegistrar,供调度任务执行器TaskScheduler执行。

@Slf4j
作用 : slf4j只是一个日志标准,并不是日志系统的具体实现。理解这句话非常重要,slf4j只做两件事情:
提供日志接口
提供获取具体日志对象的方法

@Component
作用 : 把这个类交给Spring管理

在需要定时的方法上加上注解
@Scheduled
作用 : 指定定时器什么时候执行

import java.util.Date;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
/**
 * 定时任务类
 * @author pactera
 *
 */
@EnableScheduling
@Slf4j
@Component
public class MyTask {
	//需要执行的任务   每十秒钟执行一次
	//@Scheduled 定义定时任务的信息
	//  属性 cron表达式:定义执行的时间
	@Scheduled(cron="0/10 * * * * ?")
	public void tesk1(){
		System.out.println("tesk1.....["+new Date()+"]");
	}
}

cron表达式的获取 : https://cron.qqe2.com/

在这里插入图片描述
在这里选取数值后将表达式复制到表达式里,将服务启动后即可进行定时

在这里插入图片描述

等保三级-MySQL 安全加固实战指南 本文详细介绍了MySQL数据库在等保三级要求下的安全加固实战指南,涵盖身份鉴别、访问控制、安全审计、网络传输安全、入侵防范和数据完整性等关键领域。通过具体配置示例和实战经验,帮助用户有效提升MySQL数据库的安全防护能力,满足等保三级合规要求。 阅读详情

相关推荐

SAP BO系统启用邮件发送功能

目录 背景 维护邮件目标 启用邮件功能 背景 为了将BO报表或BO预警信息发送给特定的收件人,需要启用SAP BO系统的邮件发送功能。 维护邮件目标 1. 登录BO系统的中央管理控制台(CMC): http://<bo server name>:<port>/BOE/CMC 2. 点击“Organize”底下的“Servers”按钮进入BO服务器界面: 3. 点击“Servers List”进入服务器列表界面,右键点击JobServer&lt.

guowenming001的博客 1963

SpringBoot定时器和quartz

定时器是一种控制任务延时调用,或者周期调用的技术。作用:定时邮件、短信发送、更新数据、同步数据、检查数据库和缓存数据是否一致、将定时任务限制在每天的工作时间等。

有多勉为其难的博客 2292

Zotero+WPS文献引用跳转功能缺失?3分钟教你用VBA宏搞定(附完整代码)

本文针对WPS用户使用Zotero时文献引用无法点击跳转的痛点,提供了一套完整的VBA宏解决方案。通过解析Zotero的域代码,自动在文内引用和文末参考文献之间创建超链接,实现一键跳转,极大提升了学术写作与文献查阅的效率。

weixin_28419039的博客 671

使用SpringBoot自带组件实现定时任务

1.前言 定时任务的使用,在开发中可谓是家常便饭了。定时发送邮件、短信;避免数据库、数据表过大,定时将数据转储;通知、对账等等场景。 当然实现定时任务的方式也有很多,比如使用 linux下的 crontab 脚本,jdk 中自带的 Timer 类、Spring Task或是 Quartz 。 相信你也有过如下的疑问: Spring Task 的 crontab 的表达式 和linux下的 cro...

u013620635的博客 3537

SAP中贸易伙伴的应用原理简析

公司也称为贸易伙伴,是出具合并报表的组织单位,可以为客户和供应商分配公司(贸易伙伴),用于识别集团内关闻公司间的业务往来,在编制合并报表时进行往来账务的计算处理。 如下图某贸易伙伴公司(关联方名称G0059)在我方公司的SAP系统中有多重身份(即是供应商,又是客户)。那么在我方公司SAP系统中建立起公司(贸易伙伴),并关联到供应商和客户主数据中。之后,就可以通过G0059这个贸易伙伴名称来识别与该贸易伙伴间的往来业务。 相应的配置设定如下: 定义公司(贸易伙伴或关联方) 会计凭证中会

专注SAP应用技术文章写作,致力于拉近用户与系统间的距离; 9817

10X Genomics数据实战:手把手教你用Seurat处理单细胞PBMC数据(附完整代码)

本文详细介绍了如何使用Seurat处理10X Genomics的单细胞PBMC数据,从数据获取、质控到降维分析和细胞分群的全流程。通过实战代码演示,帮助研究者掌握单细胞RNA测序数据分析的核心技术,提升对细胞异质性的理解。

weixin_29053577的博客 254

SpringBoot 多种定时任务实现方式

1、实现定时任务的实现方式 Timer:这是java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务。使用这种方式可以让你的程序按照某一个频度执行,但不能在指定时间运行。一般用的较少。 ScheduledExecutorService:也jdk自带的一个类;是基于线程池设计的定时任务类,每个调度任务都会分配到线程池中的一个线程去执行,也就是说,任务是并发执行,互不影响。 Spring Task:Spring3.0以后自带的task,可以将它看成一个轻量.

诚的博客 898

黑猫带你学eMMC协议第14篇:eMMC FFU详解(Field Firmware Update)

1 前言 1.1 声明 本文依据eMMC JEDEC5.1及个人工作经验整理而成,如有错误请留言。 本文结合eMMC JEDEC5.1协议手册查看效果更佳。 1.2 内容提要 1、ffu相关寄存器有哪些? 2、如何设置ffu? 3、什么是ffu?是否能够更新旧版本的固件到emmc? 4、ffu配置流程图。 2 什么是FFU 主机下载新的固件到eMMC,下载成功后eMMC将固件安装到设备。 3 相关寄存器/命令 SUPPORTED_MODES [493] FFU_FEATURES [492] 该

黑猫奥利奥的博客 4659

SpringBoot - 四种常见定时器

常见实现方案 @Scheduled注解实现定时器 Timer().schedule实现定时器 线程实现定时器

m0_65228708的博客 6409

出现 Error:Unable to access jarfile xxxx\target\nacos-server.jar 解决方法

Nacos中的 2.x执行步骤如上,如果需要安装下载1.x版本,执行该步骤之后 自动更新下载的是2.x版本 对此如果需要下载安装1.x的版本,可通过如下连接(windows版本)

码农研究僧的博客 5699

Eplan设计师必会—伺服安全回路的设计方法

本文介绍了在EPLAN中设计伺服STO安全回路的方法。首先需查阅伺服驱动器说明书确定STO接线端子,重点关注双通道配置。设计步骤包括:使用黑盒子功能绘制驱动器外形,正确标注STO接线点,并连接安全继电器或PLC的安全输出。关键注意事项有:必须采用双通道独立布线,确保同步动作,遵循故障安全原则,使用常闭触点串联回路。文中以西门子V90和汇川伺服为例说明具体接线要求,并附有项目实例参考。

Qinmingyue13的博客 436

spring boot 定时任务参数设置

cron参数 * * * * * * :分别对应,秒、分、时、日、月、年 0 0 10,14,16 * * ? :每天上午10点,下午2点,4点 ,逗号之间连接起来算一个 0 0 12 * * ? :每天中午12点触发 0 0/5 0 * * ? :每5分...

chuixing9639的博客 1714

MAX30102心率血氧传感器原理图设计,已量产(e-Health传感器)

在最近的便携健康监测设备项目中,我们采用了集成算法的 MAX30102 心率血氧模块 —— 这类带内置 MCU 算法的传感器能直接输出心率 / 血氧数值,大幅降低了主控资源占用。但硬件电路的稳定性直接决定了 PPG 信号的采集精度,下面结合实际项目里的原理图,拆解下这个模块的设计细节。

不脱发的程序猿 1281

SpringBoot项目集成xxljob全纪录(图文详解)

XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 本文详解介绍了SpringBoot项目集成xxlJob的全过程,代码配置,XXLJOB配置等等。

小小张自由—>张有博 2万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

SpringBoot源码分析(1)--@SpringBootApplication注解使用和原理/SpringBoot的自动配置原理详解

前言 主启动类的配置 @SpringBootConfiguration注解 验证启动类是否被注入到spring容器中 @ComponentScan 注解 @ComponentScan 注解解析与路径扫描 @EnableAutoConfiguration注解 问题解答 1.@AutoConfigurationPackage和@ComponentScan的作用是否冲突 起因 回答 2.为什么能实现自动加载

weixin_49114503的博客 2716

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

五分钟带你读懂 TCP全连接队列(图文并茂)

一、问题 今天有个小伙伴跑过来告诉我有个奇怪的问题需要协助下,问题确实也很奇怪。客户端调用RT比较高并伴随着间歇性异常Connection reset出现,而服务端CPU 、线程栈等看起来貌似都很正常,而且服务端的RT很短。 这里先说下结果: 因为TCP全连接队列太小导致的连接被丢弃,因为项目使用Spring Boot 内置的Tomcat,而默认accept-count是100,而这个参数在这里就代表了全连接队列大小。所以在请求波峰的时候全连接队列被打满导致有连接丢弃。所以我们调整server.tomcat

架构技术专栏 1695

springboot 2中文手册_全网首发!鹅厂内部Spring Boot核心手册终于开源了

2020年了想必不会有人还不知道Spring框架。这个Java史上最‘经典’的开发框架官网是这样定义它的:Spring使Java编程更快、更容易、更安全。Spring对速度、简单性和生产力的关注使得它成为世界上最受欢迎的Java框架。自2003崛起以来到现在它依旧是一个不能被轻易替代的框架,今天要与大家聊的并不是Spring,而是它的扩展——Springboot。Spring Boot不知道从什么...

weixin_39769228的博客 2581

springboot 监控队列_五分钟带你读懂 TCP全连接队列(图文并茂)

投稿作者:一位架构师朋友,文末有他公众号一、问题今天有个小伙伴跑过来告诉我有个奇怪的问题需要协助下,问题确实也很奇怪。客户端调用RT比较高并伴随着间歇性异常Connection reset出现,而服务端CPU 、线程栈等看起来貌似都很正常,而且服务端的RT很短。这里先说下结果:因为TCP全连接队列太小导致的连接被丢弃,因为项目使用Spring Boot 内置的Tomcat,而默认acce...

weixin_29066121的博客 915

SpringBoot实现动态增删启停定时任务

在spring boot项目中,可以通过@EnableScheduling注解和@Scheduled注解实现定时任务,也可以通过SchedulingConfigurer接口来实现定时任务。但是这两种方式不能动态添加、删除、启动、停止任务。 要实现动态增删启停定时任务功能,比较广泛的做法是集成Quartz框架。但是本人的开发原则是:在满足项目需求的情况下,尽量少的依赖其它框架,避免项目过于臃肿和复杂。 查看spring-context这个jar包中org.springframework.scheduling.

猫头虎技术团队:授渔优于赠鱼,兴趣引领智慧,探索之乐尤显珍贵。商务合作+:Libin9iOak ,万粉变现+:优快云WF,猫头虎承诺每年免费为100名C站创作者做账号流量诊断服务!全网搜:猫头虎技术团队,点击文章底部名片或直接私信我一切皆可谈,快找虎哥! 681

索引:《JavaWeb与AI应用开发工程师-学习笔记索引》

本文整理了Java开发工程师的学习笔记索引,包含JavaSE基础、常用工具和框架等内容。重点介绍了HTTP开发库选择、Apache HttpClient用法、Maven依赖配置、SSM项目搭建、日志整合、IDEA调试技巧等实用知识。基础部分涵盖IO流、序列化、泛型、注解、大数计算等核心概念,并提供了相关技术文档和教程链接。适合Java开发者系统学习和快速查阅,内容持续更新中。

weixin_48033662的博客 1万+

【HelloWorld篇】深入学习Spring-Boot

该专栏用来记录一下深入学习SpringBoot,了解SpringBoot如何扩展、如何自定义编写属于自己的start,了解AOP,IOC,过滤器,拦截器,注解,定时器等实际开发用到的场景以及如何整合第三方,特别是Spring-MVC底层原理、ORM框架和各种提升性能的中间件。

个人学习博客,不足之处,还望不吝赐教! 551

后台管理系统视频个人学习记录(项目熟悉)

第一章 项目整体介绍 1、后台管理系统-背景介绍 contents: 项目整体介绍 系统管理模块讲解 监控管理讲解 主题设置讲解 swagger接口讲解 quartz定时器讲解 代码生成器讲解 基础案例及其他讲解 拖拽可视化报表讲解 自定义表单模块讲解 activiti工作流模块讲解 相关案例介绍 项目总结 该项目是基于springboot、layui的后台管理系统,集成了系统管理、权限管理、代码生成器、自定义表单、可视化拖拽报表、activiti工作流等功能。技术:sp

Strivedd的博客 820

阿里架构师经验分享!Java开发经验的有效总结

前言 Mysql的锁机制确实非常重要,所以在这里做一个全面的总结整理,便于以后的查阅,也分享给大家。 Mysql的锁机制还是有点难理解的,所以这篇文章采用图文结合的方式讲解难点,帮助大家理解,讲解的主要内容如下图的脑图所示,基本涵盖了Mysql锁机制的所有知识点。 本文脑图 简介 基于SpringCloud(Hoxton.SR1) + SpringBoot(2.2.4.RELEASE) 的 SaaS型微服务脚手架,具备用户管理、资源权限管理、网关统一鉴权、Xss防跨

fanzhang_vip0723的博客 158

全网首发,阿里p8开源Spring Boot核心手册,看着看着就哭了

2023年了想必不会有人还不知道Spring框架。这个Java史上最‘经典’的开发框架官网是这样定义它的:Spring使Java编程更快、更容易、更安全。Spring对速度、简单性和生产力的关注使得它成为世界上最受欢迎的Java框架。自2003崛起以来到现在它依旧是一个不能被轻易替代的框架,今天要与大家聊的并不是Spring,而是它的扩展——Springboot。

z1ztai的博客 246

书签栏(个人)

个人书签

恋志传奇的博客 620

全网首发!鹅厂内部Spring Boot核心手册终于开源了

2022年了想必不会有人还不知道Spring框架。这个Java史上最‘经典’的开发框架官网是这样定义它的:Spring使Java编程更快、更容易、更安全。Spring对速度、简单性和生产力的关注使得它成为世界上最受欢迎的Java框架。自2003崛起以来到现在它依旧是一个不能被轻易替代的框架,今天要与大家聊的并不是Spring,而是它的扩展——Springboot。

m0_57042151的博客 158

实现订单自动关闭机制——电商系统中的定时任务设计与实践

本文介绍了一种高效实现电商订单自动关闭的系统机制,以“30分钟未支付订单过期如何自动关闭”为面试题核心,深入剖析了轮询式、事件驱动式和消息延迟式三种技术范式。文章从引言入手,详述核心原理,包括数据库优化、调度框架和消息队列的运用;随后通过Spring Boot结合RabbitMQ的实践案例,提供带注释的代码示例,展示在高并发环境下的应用;并讨论常见误区如并发冲突和故障恢复,提供分布式锁、动态调优等解决方案。

等风来 841
上一篇: 在各类数据库中随机查询n条数据
下一篇: BigDecimal中除法divide()方法的详细解析,带你走进源码的world
瓦坎达forever
博客等级 码龄7年 143粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值