日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

@scheduled注解配置时间_SpringBoot2.0实战(32)配置定时任务

發布時間:2023/12/4 javascript 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 @scheduled注解配置时间_SpringBoot2.0实战(32)配置定时任务 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

定時任務的幾種實現方式:

  • Timer:Java自帶的java.util.Timer類,這個類允許你調度一個java.util.TimerTask任務。使用這種方式可以讓你的程序按照某一個頻度執行,但不能在指定時間運行。一般用的較少。
  • Quartz:使用Quartz,這是一個功能比較強大的的調度器,可以讓你的程序在指定時間執行,也可以按照某一個頻度執行,配置起來稍顯復雜。
  • Spring Task:Spring3.0以后自帶的task,可以將它看成一個輕量級的Quartz,而且使用起來比Quartz簡單許多。

目標

在 SpringBoot 項目實現每秒打印一次當前時間

實戰

第一步:添加依賴

引入 Spring Boot Starter 父工程

添加 spring-boot-starter-web 的依賴,添加后的整體依賴如下

第二步:編寫啟動類

第三步:編寫定時任務調度類

  • 通過 @EnableScheduling 注解,開啟定時任務調度功能
  • 通過 @Scheduled 注解在需要執行的方法上,使用 cronExpression 表達式定義定時任務的執行策略

文章最后會詳細講解 cronExpression 表達式

第四步:驗證

啟動項目,查看日志

time : 07:23:45time : 07:23:46time : 07:23:47time : 07:23:48time : 07:23:49

源碼地址

本章源碼 : https://gitee.com/gongm_24/spring-boot-tutorial.git

擴展

cronExpression 表達式

表達式結構

秒 分鐘 小時 日期 月份 星期 年

配置說明

特殊字符說明:

  • 星號(*)

可用在所有字段下,表示對應時間域名的每一個時刻,如*用在分鐘字段,表示“每分鐘”。

  • 問號(?)

只能用在日期和星期字段,代表無意義的值,比如使用L設定為當月的最后一天,則配置日期配置就沒有意義了,可用?作占位符的作用。

  • 減號(-)

表示一個范圍,如在日期字段5-10,表示從五號到10號,相當于使用逗號的5,6,7,8,9,10

  • 逗號(,)

表示一個并列有效值,比如在月份字段使用JAN,DEC表示1月和12月

  • 斜杠(/)

x/y表示一個等步長序列,x為起始值,y為增量步長值,如在小時使用1/3相當于1,4,7,10當時用*/y時,相當于0/y

  • L

L(Last)只能在日期和星期字段使用,但意思不同。在日期字段,表示當月最后一天,在星期字段,表示星期六(如果按星期天為一星期的第一天的概念,星期六就是最后一天。如果L在星期字段,且前面有一個整數值X,表示“這個月的最后一個星期X”,比如3L表示某個月的最后一個星期二。

  • W

選擇離給定日期最近的工作日(周一至周五)。例如你指定“15W”作為day of month字段的值,就意味著“每個月與15號最近的工作日”。所以,如果15號是周六,則觸發器會在14號(周五)觸發。如果15號是周日,則觸發器會在16號(周一)觸發。如果15號是周二,則觸發器會在15號(周二)觸發。但是,如果你指定“1W”作為day of month字段的值,且1號是周六,則觸發器會在3號(周一)觸發。quartz不會“跳出”月份的界限。

  • LW組合

在日期字段可以組合使用LW,表示當月最后一個工作日(周一至周五)

  • 井號(#)

只能在星期字段中使用指定每月第幾個星期X。例如day of week字段的“6#3”,就意味著“每月第3個星期五”(day3=星期五,#3=第三個);“2#1”就意味著“每月第1個星期一”;“4#5”就意味著“每月第5個星期3。需要注意的是“#5”,如果在當月沒有第5個星期三,則觸發器不會觸發。

  • C

只能在日期和星期字段中使用,表示計劃所關聯的誒其,如果日期沒有被關聯,相當于日歷中的所有日期,如5C在日期字段相當于5號之后的第一天,1C在日期字段使用相當于星期填后的第一天

示例:

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的@scheduled注解配置时间_SpringBoot2.0实战(32)配置定时任务的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。