1.點睛
從spring3.1開始,計劃任務在spring中的實作變得異常的簡單。首先通過在配置類注解@enablescheduling來開啟對計劃任務的支援,然後在要執行計劃任務的方法上注解@scheduled,聲明這是一個計劃任務。
spring通過@scheduled支援多種類型的計劃任務,包含cron、fixdelay、fixrate等。
//@scheduled(fixeddelay=one_minute)
//@scheduled(fixedrate=one_minute)
//第一位,表示秒,取值0-59
//第二位,表示分,取值0-59
//第三位,表示小時,取值0-23
//第四位,日期天/日,取值1-31
//第五位,日期月份,取值1-12
//第六位,星期,取值1-7,星期一,星期二...,注:不是第1周,第二周的意思,另外:1表示星期天,2表示星期一
//第7位,年份,可以留白,取值1970-2099
//(*)星号:可以了解為每的意思,每秒,每分,每天,每月,每年...
//(?)問号:問号隻能出現在日期和星期這兩個位置,表示這個位置的值不确定,每天3點執行,是以第六位星期的位置,我們是不需要關注的,就是不确定的值。同時:日期和星期是兩個互相排斥的元素,通過問号來表明不指定值。比如,1月10日,比如是星期1,如果在星期的位置是另指定星期二,就前後沖突沖突了。
//(-)減号:表達一個範圍,如在小時字段中使用“10-12”,則表示從10到12點,即10,11,12
//(,)逗号:表達一個清單值,如在星期字段中使用“1,2,4”,則表示星期一,星期二,星期四
//(/)斜杠:如:x/y,x是開始值,y是步長,比如在第一位(秒) 0/15就是,從0秒開始,每15秒,最後就是0,15,30,45,60 另:*/y,等同于0/y
2.示例
(1)計劃任務執行類
通過@scheduled聲明該方法是計劃任務,使用fixedrate屬性每隔固定時間執行。
使用cron屬性可按照指定時間執行,本例指的是每天11點28分執行;cron是unix和類unix(linux)系統下的定時任務。
(2)配置類
通過@enablescheduling注解開啟對計劃任務的支援。
(3)運作
結果