Spring Task
是Spring框架提供的任務調度工具,可以按照約定的時間自動執行某個代碼邏輯。
定位:定時任務框架
作用:定時自動執行某段Java代碼
強調:只要是需要定時處理的場景都可以使用Spring Task
1.?cron表達式
cron表達式其實就是一個字符串,通過cron表達式可以定義任務觸發的時間
構成規則:分為6或7個域,由空格分隔開,每個域代表一個含義
每個域的含義分別為:秒、分鐘、小時、日、月、周、年(可選)
舉例:
2022年10月12日上午9點整 對應的cron表達式為:0 0 9 12 10 ? 2022
?說明:一般日和周的值不同時設置,其中一個設置,另一個用?表示。
比如:描述2月份的最后一天,最后一天具體是幾號呢?可能是28號,也有可能是29號,所以就不能寫具體數字。
為了描述這些信息,提供一些特殊的字符。這些具體的細節,我們就不用自己去手寫,因為這個cron表達式,它其實有在線生成器。
cron表達式在線生成器:在線Cron表達式生成器
?
2 入門案例
Spring Task使用步驟
1). 導入maven坐標 spring-context(已存在)
2). 啟動類添加注解 @EnableScheduling 開啟任務調度
3). 自定義定時任務類
/*** 自定義定時任務類*/
@Component
@Slf4j
public class MyTask {/*** 定時任務 每隔5秒觸發一次*/@Scheduled(cron = "0/5 * * * * ?")public void executeTask(){log.info("定時任務開始執行:{}",new Date());}
}
3.功能測試
?啟動服務,查看日志
?
?每隔5秒執行一次。