springboot引入簡單的定時任務

2021-10-22 12:56:12 字數 2722 閱讀 7020

使用@scheduled註解

1.在定時任務類上增加註解@enablescheduling(代表啟用scheduled定時任務機制)和@configuration(用於定義配置類)。**如下:

@configuration

//1、主要用於標記配置類,兼備component的效果。

//@enablescheduling // 2、開啟定時任務

public

class

******scheduleconfig

}

執行結果:

執行定時任務:

2021-03

-18t10:49:

29.371

hello world!

執行定時任務:

2021-03

-18t10:49:

34.371

hello world!

執行定時任務:

2021-03

-18t10:49:

39.372

hello world!

執行定時任務:

2021-03

-18t10:49:

44.372

hello world!

格式

seconds

minutes

hours

dayofmonth

month

dayofweek

year

格式seconds

minutes

hours

dayofmonth

month

dayofweek結構秒

分小時月份中的日期

月份星期中的日期

年份每乙個域都使用數字,也可以出現特殊字元,如下:

(1)星號*:表示匹配該域的任意值。假如在minutes域使用*, 即表示每分鐘都會觸發事件。

(2)?:只能用在dayofmonth和dayofweek兩個域。它也匹配域的任意值,但實際不會。因為dayofmonth和dayofweek會相互影響。例如想在每月的20日觸發排程,不管20日到底是星期幾,則只能使用如下寫法: 13 13 15 20 * ?, 其中最後一位只能用?,而不能使用*,如果使用*表示不管星期幾都會觸發,實際上並不是這樣。

(3)-:表示範圍。例如在minutes域使用5-20,表示從5分到20分鐘每分鐘觸發一次

(4)/:表示起始時間開始觸發,然後每隔固定時間觸發一次。例如在minutes域使用5/20,則意味著5分鐘觸發一次,而25,45等分別觸發一次.

(5),:表示列出列舉值。例如:在minutes域使用5,20,則意味著在5和20分每分鐘觸發一次。

(6)l:表示最後,只能出現在dayofweek和dayofmonth域。如果在dayofweek域使用5l,意味著在最後的乙個星期四觸發。

(7)w:表示有效工作日(周一到周五),只能出現在dayofmonth域,系統將在離指定日期的最近的有效工作日觸發事件。例如:在 dayofmonth使用5w,如果5日是星期六,則將在最近的工作日:星期五,即4日觸發。如果5日是星期天,則在6日(周一)觸發;如果5日在星期一到星期五中的一天,則就在5日觸發。另外一點,w的最近尋找不會跨過月份 。

(8)lw:這兩個字元可以連用,表示在某個月最後乙個工作日,即最後乙個星期五。

(9)#:用於確定每個月第幾個星期幾,只能出現在dayofmonth域。例如在4#2,表示某月的第二個星期三。

例如:「0 0 2 1 * ? *」 表示在每月的1日的凌晨2點排程任務

「0 15 10 ? * mon-fri」 表示周一到周五每天上午10:15執行作業

「0 15 10 ? * 6l 2002-2006」 表示2002-2023年的每個月的最後乙個星期五上午10:15執行作

「0 0 10,14,16 * * ?」 每天上午10點,下午2點,4點

「0 0/30 9-17 * * ?」 朝九晚五工作時間內每半小時

「0 0 12 ? * wed」 表示每個星期三中午12點

「0 0 12 * * ?」 每天中午12點觸發

「0 15 10 ? * *」 每天上午10:15觸發

「0 15 10 * * ?」 每天上午10:15觸發

「0 15 10 * * ? *」 每天上午10:15觸發

「0 15 10 * * ? 2005」 2023年的每天上午10:15觸發

「0 * 14 * * ?」 在每天下午2點到下午2:59期間的每1分鐘觸發

「0 0/5 14 * * ?」 在每天下午2點到下午2:55期間的每5分鐘觸發

「0 0/5 14,18 * * ?」 在每天下午2點到2:55期間和下午6點到6:55期間的每5分鐘觸發

「0 0-5 14 * * ?」 在每天下午2點到下午2:05期間的每1分鐘觸發

「0 10,44 14 ? 3 wed」 每年三月的星期三的下午2:10和2:44觸發

「0 15 10 ? * mon-fri」 周一至周五的上午10:15觸發

「0 15 10 15 * ?」 每月15日上午10:15觸發

「0 15 10 l * ?」 每月最後一日的上午10:15觸發

「0 15 10 ? * 6l」 每月的最後乙個星期五上午10:15觸發

「0 15 10 ? * 6l 2002-2005」 2023年至2023年的每月的最後乙個星期五上午10:15觸發

「0 15 10 ? * 6#3」 每月的第三個星期五上午10:15觸發

初識springboot 引入thymeleaf

因為springboot不支援jsp 使用模板引擎 寫乙個頁面模板,和資料交給模板,生成乙個頁面。推薦thymeleaf 語法簡單功能強大,1.引入thymeleaf org.springframework.boot spring boot starter thymeleaf 修改版本 1.8 3....

springBoot引入spring配置檔案

springboot中新增或更改預設配置,基本是使用 configuration bean component等註解來實現,和之前的spring中的xml配置檔案配置的方式完全不同。需注意 springboot中也可以載入原始的xml配置檔案的方式來配置spring。比如,作者之前在使用spring...

springboot引入配置的幾種方式

第一種方式 之前有說到用註解 configurationproperties,去.properties和.yaml讀取屬性,進行物件的初始化 所有用以下方式 component configurationproperties prefix person propertysource value va...