Spring Boot 定时任务

news2025/1/13 17:48:57

Spring Boot 提供了方便的注解来实现定时任务。下面是定时任务注解的详细教程:

一、添加依赖

要使用 Spring Boot 的定时任务注解,首先需要在项目中确认已添加过spring-boot-starter的依赖。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
</dependency>

这个依赖会自动包含spring-context,它提供了定时任务相关的功能。

 二、开启定时任务

要开启定时任务,需要在主类上添加 @EnableScheduling 注解:

@SpringBootApplication
@EnableScheduling
public class MyApp {
    public static void main(String[] args) {
        SpringApplication.run(MyApp.class, args);
    }
}

三、创建定时任务方法

创建一个方法,并添加 @Scheduled 注解,用来表示这个方法是一个定时任务方法。

@Component
public class MyTask {

    @Scheduled(cron = "0 0 0 * * ?")
    public void myTaskMethod() {
        // 定时任务执行的代码
    }

}

@Scheduled是一个Spring框架中的注解,可以用于指定方法或者类中的方法在特定时间进行执行。它可以帮助我们轻松地编写定时任务。

@Scheduled 应用于方法上,并且支持多种参数。下面是一些常见的参数:

  • cron:按照Cron表达式来设置定时任务的执行时间
  • fixedDelay:在上一次任务执行完毕后延迟一段时间再执行下一次任务
  • fixedRate:按照固定间隔时间执行任务
  • initialDelay:表示第一次执行延迟时间

下面是一个使用 @Scheduled 注解的例子:

@Component
public class ScheduleTask {

//    @Scheduled(cron = "0/5 * * * * ?")
    @Scheduled(fixedDelay = 2000)
    public void test(){
        System.out.println(LocalDateTime.now() + "开始执行");
        try {Thread.sleep(3000);} catch (InterruptedException e) {e.printStackTrace();}
        System.out.println(LocalDateTime.now() + "执行结束");
    }

}

这个例子中,ScheduleTask类被标记为 @Component,因此Spring容器会自动扫描并创建实例。然后,该类中的 test() 方法使用 @Scheduled 注解进行标记,fixedDelay=2000表示:在上一次任务执行完毕后,延迟2s再执行下一次任务。

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【youcans的深度学习 D01】PyTorch例程:从极简线性模型开始

欢迎关注『youcans的深度学习』系列 【youcans的深度学习 D01】PyTorch 例程&#xff1a;从极简线性模型开始 1. PyTorch 建模的基本步骤2. 线性模型的结构3. 建立 PyTorch 线性模型3.1 准备数据集3.2 定义线性模型类3.3 建立一个线性模型3.4 模型训练3.5 模型推断 4. PyTorch …

java-处理xml格式数据

处理xml格式数据 前言一、java处理xml格式数据1、 生成XML格式数据2、 解析XML格式数据 二、问题三、常用类及方法介绍 前言 dom4j是java中的XML API&#xff0c;性能优异、功能强大、开放源代码。 也是所有解析XML文件方法中最常用的&#xff01; 一、java处理xml格式数据 …

榜单发布 新能源乘用车OBC赛道进入转型升级周期

新能源汽车尤其是纯电动汽车市场的快速普及&#xff0c;也带动一批相关核心零部件厂商做大做强。比如&#xff0c;以车载充电机OBC及集成电源行业为例&#xff0c;威迈斯、富特科技等数家公司正在冲刺IPO。 目前&#xff0c;车载电源领域产品主要分为三种&#xff1a;一是单一…

步入AIGC时代,展望人工智能发展

步入AIGC时代&#xff0c;展望人工智能发展 0. 前言1. 步入 AIGC 时代1.1 人工智能简介1.2 AIGC 简介1.3 AIGC 发展与应用 2. CSIG 企业行——走进合合信息2.1 活动介绍2.2 走进合合信息 3. 文档图像处理中的底层视觉技术3.1 什么是底层视觉3.2 智能图像处理技术3.3 智能图像处…

消息中间件RabbitMQ---概述和概念 【一】

1、概述 1、大多应用中&#xff0c;可通过消息服务中间件来提升系统异步通信、扩展解耦能力 2、消息服务中两个重要概念&#xff1a; 消息代理&#xff08;message broker&#xff09;和目的地&#xff08;destination&#xff09; 当消息发送者发送消息以后&#xff0c;将由…

C语言中数据结构——顺序表

&#x1f436;博主主页&#xff1a;ᰔᩚ. 一怀明月ꦿ ❤️‍&#x1f525;专栏系列&#xff1a;线性代数&#xff0c;C初学者入门训练&#xff0c;题解C&#xff0c;C的使用文章&#xff0c;「初学」C &#x1f525;座右铭&#xff1a;“不要等到什么都没有了&#xff0c;才下…

java多线程详细讲解 线程的创建、线程的状态、synchronized锁、Volatile关键字、和cas锁(自旋锁 乐观锁 无锁)

java多线程详细讲解 线程的创建、线程的状态、synchronized锁、Volatile关键字、和cas锁&#xff08;自旋锁 乐观锁 无锁&#xff09; 一、线程的概念二、创建线程的三种方式三、线程方法Sleep、Yield、Join四、线程的执行状态五、synchronized关键字1.为什么要上锁?2.锁定的内…

SDL初识(1)

简介 SDL(Simple DirectMedia Layer) 是一个跨平台开发库&#xff0c;旨在通过 OpenGL 和 Direct3D 提供对音频、键盘、鼠标、操纵杆和图形硬件的低级访问。 SDL 支持 Windows、Mac OS X、Linux、iOS 和 Android。可以在源代码中找到对其他平台的支持。SDL 是用 C 语言编写的…

JavaScript【六】JavaScript中的字符串(String)

文章目录 &#x1f31f;前言&#x1f31f;字符串(String)&#x1f31f;单引号和双引号的区别&#x1f31f;属性&#x1f31f; length :字符串的长度 &#x1f31f; 方法&#x1f31f; str.charAt(index);&#x1f31f; str.charCodeAt(index);&#x1f31f; String.fromCharCod…

死磕“增长”:火山引擎的实用主义

作者 | 曾响铃 文 | 响铃说 在刘慈欣的科幻小说《三体》中&#xff0c;地外文明为了封锁地球科技&#xff0c;在天文台向地球科学家展现了「宇宙闪烁」这一奇观&#xff0c;试图颠覆人类的认知&#xff0c;从而影响科技进步&#xff0c;促使地球科技发展陷入停滞。 如今&…

给你们讲个笑话——低代码会取代程序员

今天是正经男&#xff0c;我们严肃讨论一下一直以来争吵不休的取代问题。 低代码开发平台&#xff0c;低代码技术会取代开发人员么&#xff1f; 一、背景 低代码开发平台的普及&#xff0c;让很多公司对快速生成应用抱有很大期望。甚至有人认为&#xff0c;低代码开发平台未来…

MTLAB绘图

这里写目录标题 一、图例1、散点图 二、绘图1、总体图形参数2、坐标、图框、网格图框去上右边框小刻度网格坐标范围和刻度控制旋转 坐标、刻度 3、图例图例位置和方向 Location和Orientation图例加标题 、分多列 4、文本 字、字体、字号5、线型 符号6、颜色栏 colorbar7、颜色8…

【技能分享】CAD转SHP最好的方法

1、利用 ArcToolsbox 工具先将 DWG 文件转为 MDB 通过 CASS 软件生成的 DWG 文件&#xff0c;字段中包含有很多属性内容&#xff0c;所以我们先将 DWG 格式 的文件转换为 MDB 格式&#xff0c;再通过 MDB 转换为 SHP 格式数据进行整理。具体步骤如下&#xff1a; 通过 ArcTool…

2023Mathorcup高校数学建模挑战赛ABCD选题建议

提示&#xff1a;本科同学尽量选择C、D题进行作答&#xff0c;获奖率相对会高。C君认为的难度&#xff1a;AD<C<B&#xff0c;开放度&#xff1a;B<C<A<D 。 A题 量子计算机在信用评分卡组合优化中的应用 这道题目是传统的运筹学题目。需要建立客户信用等级的…

阿里ARouter 路由框架解析

一、简介 众所周知&#xff0c;在日常开发中&#xff0c;随着项目业务越来越复杂&#xff0c;项目中的代码量也越来越多&#xff0c;如果维护、扩展、解耦等成了一个非常头疼问题&#xff0c;随之孕育而生的诸如插件化、组件化、模块化等热门技术。 而其中组件化中一项的难点&…

Spring Cloud 之五:Feign使用Hystrix

系列目录&#xff08;持续更新。。。&#xff09; Spring Cloud之一&#xff1a;注册与发现-Eureka工程的创建 Spring Cloud之二&#xff1a;服务提供者注册到Eureka Server Spring Cloud之三&#xff1a;Eureka Server添加认证 Spring Cloud之四&#xff1a;使用Feign实现…

camunda如何监控流程执行

在 Camunda 中&#xff0c;可以使用 Camunda 提供的用户界面和 API 来监控流程的执行情况。以下是几种常用的监控流程执行的方式&#xff1a; 1、使用 Camunda Cockpit&#xff1a;Camunda Cockpit 是 Camunda 官方提供的流程监控和管理工具&#xff0c;可以在浏览器中访问 Co…

【百面成神】消息中间件基础7问,你能撑到第几问

前 言 &#x1f349; 作者简介&#xff1a;半旧518&#xff0c;长跑型选手&#xff0c;立志坚持写10年博客&#xff0c;专注于java后端 ☕专栏简介&#xff1a;纯手打总结面试题&#xff0c;自用备用 &#x1f330; 文章简介&#xff1a;消息中间件最基础、重要的9道面试题 文章…

Android中的MVVM架构:使用Jetpack组件实现现代化的应用架构

Android中的MVVM架构&#xff1a;使用Jetpack组件实现现代化的应用架构 Jetpack组件是构建现代Android应用的绝佳利器&#xff0c;组件化设计让构建App如此简单。 引言 随着移动应用的日益复杂和功能的不断增加&#xff0c;构建稳健、可扩展和易维护的Android应用变得越来越重…

[考研数据结构] 第3章之队列的基本知识与操作

文章目录 队列的基本概念 队列的顺序存储 顺序队列 存储类型 基本操作 循序队列 存储类型 基本操作 循环队列判空与判满的三种解决方案 方法一&#xff1a;牺牲一个存储单元 方法二&#xff1a;类型增设记录型变量size 方法三&#xff1a;类型增设标志型变量tag 队…