定时器@Scheduled使用

本文介绍了SpringBoot中四种调度方法,包括Scheduled注解的fixedDelay、fixedRate、initialDelay和Cron表达式的使用,以及如何在Spring应用中启用定时任务和设置Cron表达式的工作原理。
摘要由CSDN通过智能技术生成

目录

四种调度方法

定时器使用

Cron详解


前言-与正文无关

    生活远不止眼前的苦劳与奔波,它还充满了无数值得我们去体验和珍惜的美好事物。在这个快节奏的世界中,我们往往容易陷入工作的漩涡,忘记了停下脚步,感受周围的世界。让我们一起提醒自己,要适时放慢脚步,欣赏生活中的每一道风景,享受与家人朋友的温馨时光,发现那些平凡日子里隐藏的幸福时刻。因为,这些点点滴滴汇聚起来的,才是构成我们丰富多彩生活的本质。希望每个人都能在繁忙的生活中找到自己的快乐之源,不仅仅为了生存而工作,更为了更好的生活而生活。

        送你张美图!希望你开心!

四种调度方法

@Scheduled 是 Spring Boot 中用于创建定时任务的注解。使用此注解可以很方便地实现定时任务的自动调度。以下是常见四种参数的作用:

  1. 固定延迟(Fixed Delay):

    • @Scheduled(fixedDelay = 1000):在上一个任务完成后,等待1000毫秒(1秒)开始下一个任务。
  2. 固定速率(Fixed Rate):

    • @Scheduled(fixedRate = 1000):每1000毫秒(1秒)执行一次任务,不考虑上一个任务的执行时间。
  3. 初始延迟(Initial Delay):

    • @Scheduled(initialDelay = 1000, fixedRate = 5000):应用启动后等待1000毫秒(1秒)开始执行第一个任务,之后每5000毫秒(5秒)执行一次。
  4. Cron 表达式:

    • @Scheduled(cron = "0 * * * * ?"):使用Cron表达式来定义任务的执行时间。这个例子中,任务将在每分钟的开始时刻执行。

定时器使用

为了使用 @Scheduled,需要在 Spring Boot 应用的主类或配置类上添加 @EnableScheduling 注解,以启用定时任务的调度功能。例如:

@SpringBootApplication
@EnableScheduling
public class MyApplication {
    // 启动类代码
}

在Spring Boot应用中,只需要在一个地方添加@EnableScheduling注解,通常是在主启动类(即包含@SpringBootApplication注解的类)上添加。这样做会在整个Spring应用上下文中启用定时任务的调度。

然后,你可以在任何Spring管理的Bean中使用 @Scheduled 注解来定义一个定时任务。例如:

@Component
public class ScheduledTasks {

    @Scheduled(fixedRate = 5000)
    public void reportCurrentTime() {
        System.out.println("当前时间:" + LocalDateTime.now());
    }
}

Cron详解

Cron 表达式是一种用于配置定时任务的字符串,它定义了任务应该在何时运行。Cron 表达式通常由六或七个部分组成,每个部分用空格分隔。这些部分表示不同的时间单位,如下所示:

  1. (0-59)
  2. 分钟 (0-59)
  3. 小时 (0-23)
  4. 日期 (1-31)
  5. 月份 (1-12 或 JAN-DEC)
  6. 星期 (0-7,其中 0 和 7 都代表星期日,或者用 SUN-SAT)
  7. 年份 (可选字段,通常留空)

每个部分可以包含一个数值、一个范围、一个列表或一个特殊字符。以下是一些特殊字符及其含义:

  • *:任意值,用于表示该字段的每个可能的值。
  • -:表示一个范围,例如 10-12 在小时字段中代表10点到12点。
  • ,:用于列举多个值,例如 MON,WED,FRI 在星期字段中代表星期一、星期三和星期五。
  • /:用于指定增量,例如 0/15 在分钟字段中代表每小时的0分、15分、30分和45分。
  • ?:用在日期和星期字段中,表示“没有特定的值”,通常用于其中一个字段为具体值时,另一个字段设为 ?

------------------------------------------与正文内容无关------------------------------------
如果觉的文章写对各位读者老爷们有帮助的话,麻烦点赞加关注呗!作者在这拜谢了!

混口饭吃了!如果你需要Java 、Python毕设、商务合作、技术交流、就业指导、技术支持度过试用期。请在关注私信我,本人看到一定马上回复!

这是我全部文章所在目录,看看是否有你需要的,如果遇到觉得不对地方请留言,看到后我会查阅进行改正。

A乐神-CSDN博客

关注在文章左上角,作者信息处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

A乐神

恭喜发财啊,老板,嘻嘻!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值