SpringBoot?使用定時任務(wù)(SpringTask)的詳細(xì)步驟
Spring3.0以后自帶的task,可以將它看成一個輕量級的Quartz,而且使用起來比Quartz簡單許多。
使用步驟:
1.導(dǎo)入坐標(biāo)
在spring-boot-starter-web坐標(biāo)中,就包含了SpringTask,所以一般的Web項目都包含了。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
2.在啟動類中開啟任務(wù)調(diào)度
package com.***; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.scheduling.annotation.EnableScheduling; @EnableScheduling // 開啟任務(wù)調(diào)度 @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
3.編寫自定義任務(wù)類
package com.***.task; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.text.SimpleDateFormat; import java.util.Date; @Component public class MyTask { // 定時任務(wù)方法,指定什么時候觸發(fā) 這里是每五秒觸發(fā)一次 @Scheduled(cron = "0/5 * * * * ?") public void TimeTask() { System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + " 執(zhí)行任務(wù)"); } }
在任務(wù)類中編寫需要定時執(zhí)行的方法即可。在方法上面配置Cron表達(dá)式,控制執(zhí)行的頻率。
4.Cron表達(dá)式
Cron 表達(dá)式是一種用于指定定時任務(wù)執(zhí)行時間的字符串表達(dá)式。它由 6 個字段組成,分別表示秒、分鐘、小時、天數(shù)、月份和星期幾。每個字段都可以使用特定的符號來指定時間范圍或間隔。
┌──────────── [可選] 秒 (0 - 59) | ┌────────── 分鐘 (0 - 59) | | ┌──────── 小時 (0 - 23) | | | ┌────── 天數(shù) (1 - 31) | | | | ┌──── 月份 (1 - 12) OR jan,feb,mar,apr ... | | | | | ┌── 星期幾 (0 - 6, 星期天 = 0) OR sun,mon ... | | | | | | * * * * * * 命令
除了基本的數(shù)字范圍外,Cron 表達(dá)式還支持一些特殊符號和字符:
- 星號(*):表示匹配任意值。例如,* 在分鐘字段中表示每分鐘都執(zhí)行。
- 逗號(,):用于分隔多個值。例如,1,3,5 在小時字段中表示 1 點(diǎn)、3 點(diǎn)和 5 點(diǎn)執(zhí)行。
- 斜線(/):用于指定間隔值。例如,*/5 在分鐘字段中表示每 5 分鐘執(zhí)行一次。
- 連字符(-):用于指定范圍。例如,10-20 在日期字段中表示從 10 號到 20 號。
- 問號(?):僅用于日期和星期幾字段,表示不指定具體值。通常用于避免沖突。
以下是一些示例 Cron 表達(dá)式:
0 0 12 * * ?
:每天中午 12 點(diǎn)執(zhí)行。0 0/5 * * * ?
:每 5 分鐘執(zhí)行一次。0 0 8-18 ? * MON-FRI
:周一至周五的 8 點(diǎn)到 18 點(diǎn)之間每小時執(zhí)行一次。
Cron 表達(dá)式非常靈活,可以滿足各種定時任務(wù)的需求。但需要注意的是,Cron 表達(dá)式只能表示固定的時間點(diǎn),無法處理復(fù)雜的時間邏輯。如果需要更復(fù)雜的定時任務(wù)調(diào)度,可能需要借助專門的調(diào)度框架或庫。
到此這篇關(guān)于SpringBoot 使用定時任務(wù)(SpringTask)的文章就介紹到這了,更多相關(guān)SpringBoot 使用定時任務(wù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring框架基于AOP實現(xiàn)簡單日志管理步驟解析
這篇文章主要介紹了Spring框架基于AOP實現(xiàn)簡單日志管理步驟解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-06-06SpringBoot中日志切面實現(xiàn)小結(jié)
本文介紹了SpringBoot中日志切面實現(xiàn)小結(jié),通過定義一個自定義注解和創(chuàng)建一個日志切面類,為方法添加日志記錄功能,感興趣的可以了解一下2024-11-11Java 將PPT幻燈片轉(zhuǎn)為HTML文件的實現(xiàn)思路
本文以Java程序代碼為例展示如何通過格式轉(zhuǎn)換的方式將PPT幻燈片文檔轉(zhuǎn)為HTML文件,本文通過實例代碼圖文相結(jié)合給大家分享實現(xiàn)思路,需要的朋友參考下吧2021-06-06