引言
項(xiàng)目中多多少少可能大概會(huì)用到一些定時(shí)任務(wù)的應(yīng)用,而Spring也提供了定時(shí)任務(wù)的實(shí)現(xiàn)萝快,在這里,主要說(shuō)明定時(shí)器的使用著角,以注解的方式實(shí)現(xiàn)定時(shí)器
- 1揪漩、首先在Spring的配置文件里加上
xmlns:task="http://www.springframework.org/schema/task"
http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd
- 2、接下來(lái)在實(shí)現(xiàn)方法上 使用 @Scheduled 注解
一般我們使用cron屬性即可吏口,表明 該定時(shí)任務(wù)以何種方式定時(shí)執(zhí)行奄容。
如:
@Scheduled(cron="0 0/5 * * * ?")
public void init(){
//do something
}
當(dāng)然上述方法所在的類需要使用@Component或其他注解方式置入到Spring容器中冰更。
另外,由于某些時(shí)候我們需要定時(shí)任務(wù)在啟動(dòng)后就立即執(zhí)行昂勒,則 可以加上 @PostConstruct蜀细。
-3、cron表達(dá)式說(shuō)明
Cron表達(dá)式是一個(gè)字符串戈盈,字符串以5或6個(gè)空格隔開奠衔,分為6或7個(gè)域,每一個(gè)域代表一個(gè)含義塘娶,Cron有如下兩種語(yǔ)法格式:
Seconds Minutes Hours DayofMonth Month DayofWeek Year
或
Seconds Minutes Hours DayofMonth Month DayofWeek
每一個(gè)域可出現(xiàn)的字符如下:
Seconds:可出現(xiàn)", - * /"四個(gè)字符归斤,有效范圍為0-59的整數(shù)
Minutes:可出現(xiàn)", - * /"四個(gè)字符,有效范圍為0-59的整數(shù)
Hours:可出現(xiàn)", - * /"四個(gè)字符刁岸,有效范圍為0-23的整數(shù)
DayofMonth:可出現(xiàn)", - * / ? L W C"八個(gè)字符脏里,有效范圍為0-31的整數(shù)
Month:可出現(xiàn)", - * /"四個(gè)字符,有效范圍為1-12的整數(shù)或JAN-DEc
DayofWeek:可出現(xiàn)", - * / ? L C #"四個(gè)字符虹曙,有效范圍為1-7的整數(shù)或SUN-SAT兩個(gè)范圍迫横。1表示星期天,2表示星期一根吁, 依次類推
Year:可出現(xiàn)", - * /"四個(gè)字符员淫,有效范圍為1970-2099年
關(guān)于cron ,比較常用的都是相對(duì)比較固定的幾個(gè)周期击敌。