SpringBoot中注解实现定时任务的两种方式

 更新时间:2023年10月18日 11:12:55   作者:yuhuofei2021  
这篇文章主要介绍了SpringBoot中注解实现定时任务的两种方式,SpringBoot 定时任务是一种在SpringBoot应用中自动执行任务的机制,通过使用Spring框架提供的@Scheduled注解,我们可以轻松地创建定时任务,需要的朋友可以参考下

SpringBoot注解实现定时任务

在 SpringBoot 中使用定时任务非常简单,只需要两个注解就可以实现。

第一个注解@EnableScheduling

在项目的启动类上,加上注解 @EnableScheduling ,开启定时任务支持。示例如下所示:

package com.yuhuofei;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;

@EnableScheduling
@SpringBootApplication
public class SpringbootSwaggerApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootSwaggerApplication.class, args);
    }

}

第二个注解@Scheduled

新建一个跑定时任务的类,里面写上方法,在方法上加上 @Scheduled 注解,然后写上每次定时任务执行的间隔时间。示例如下所示:

package com.yuhuofei.task;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * @Description
 * @ClassName ScheduledTask
 * @Author yuhuofei
 * @Date 2022/8/24 21:22
 * @Version 1.0
 */
@Service
public class ScheduledTask {

    //cron表达式
    //秒 分 时 日 月 周几
    //下面的语句表示每隔10秒执行一次
    @Scheduled(cron = "*/10 * * * * ?")
    public void printHello() {
        System.out.println("hello,你好呀!现在的时间是:" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
    }
}

测试结果

每隔 10 秒钟执行一次定时任务,结果如下:

在这里插入图片描述

注意点

使用上面的方式处理定时任务,需要注意的点就是 cron 表达式怎么写的问题。

不过这种也很简单,直接网上搜一搜,然后把表达式拼出来就解决了,不难!

到此这篇关于SpringBoot中注解实现定时任务的两种方式的文章就介绍到这了,更多相关SpringBoot注解实现定时任务内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • springBoot项目启动类启动无法访问的解决方法

    springBoot项目启动类启动无法访问的解决方法

    这篇文章主要介绍了springBoot项目启动类启动无法访问的解决方法,需要的朋友可以参考下
    2018-10-10
  • 详解java的值传递、地址传递、引用传递

    详解java的值传递、地址传递、引用传递

    这篇文章主要介绍了详解java的值传递、地址传递、引用传递的相关资料,需要的朋友可以参考下
    2017-06-06
  • java中httpclient封装post请求和get的请求实例

    java中httpclient封装post请求和get的请求实例

    这篇文章主要介绍了java中httpclient封装post请求和get的请求实例,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • Java全面细致讲解类与对象

    Java全面细致讲解类与对象

    类和对象是两种以计算机为载体的计算机语言的合称。对象是对客观事物的抽象,类是对对象的抽象。类是一种抽象的数据类型;变量就是可以变化的量,存储在内存中—个可以拥有在某个范围内的可变存储区域
    2022-05-05
  • Java代码重构的几种模式详解

    Java代码重构的几种模式详解

    这篇文章详细介绍了Java代码重构的几种模式,有需要的朋友可以参考一下
    2013-10-10
  • 如何使用IntelliJ IDEA搭建MyBatis-Plus框架并连接MySQL数据库

    如何使用IntelliJ IDEA搭建MyBatis-Plus框架并连接MySQL数据库

    这篇文章主要介绍了如何使用IntelliJ IDEA搭建MyBatis-Plus框架并连接MySQL数据库,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-11-11
  • java中的取整与四舍五入方法实例

    java中的取整与四舍五入方法实例

    这篇文章主要给大家介绍了关于java中取整与四舍五入的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Java多线程提交按照时间顺序获取线程结果详解流程

    Java多线程提交按照时间顺序获取线程结果详解流程

    在工作中是否存在这样的场景,多个线程提交执行,你不想全部线程执行结束了获取结果,而是有线程完成返回结果就获取消费。本文提供该场景的工具类,可以直接用哦
    2021-11-11
  • Java的Stream入门级教程

    Java的Stream入门级教程

    Java的Stream(流)是从Java 8 引入的一套面向集合数据的声明式处理API,它让你像写“数据流水线”一样,对一组元素做筛选、变换、聚合等操作,代码更简洁、更可读,本文给大家介绍Java的Stream入门级教程,感兴趣的朋友跟随小编一起看看吧
    2025-10-10
  • Serializable接口的作用_动力节点Java学院整理

    Serializable接口的作用_动力节点Java学院整理

    这篇文章主要为大家详细介绍了java中Serializable接口的作用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05

最新评论