SpringBoot學習之路---記錄定時任務(@Scheduled)

有時在開發中我們會碰到,比如每週五定期分析一下日誌,你可以人工手動到點去分析,但這樣的話,那效率…一般都是寫一些程序或者腳本到了指定的時間去分析對應的日誌文件,這個要怎麼做呢?這一篇博客就來簡單記錄一下。


這裏要引入一個註解(@Scheduled),在需要的方法上直接添加就可以了,它裏面有一個屬性cron,裏面可以填寫cron表達式。這是個啥呢,舉個例子:

@Scheduled(cron = "0 10 10 * * mon-fri")

這個就表示在每週一—週五(mon-fri)的每天10點10分0秒運行一次該方法,它裏面是這樣子的 (秒數 分數 小時數 每個月的第幾天 第幾個月 星期幾),再舉一個例子:

@Scheduled(cron = "17 10 15 3 * *")

這表示,每個月的3號15:10:17執行一次該方法。裏面還有一些通配符可以使用,關於這些用法,這裏有兩個表格,需要時作查閱即可:

在這裏插入圖片描述
在這裏插入圖片描述
接下來我們進入編碼階段,編個小demo測試一下.

service:

@Service
public class HelloService {

    @Scheduled(cron = "0-2 * * * * *") //表示每一分鐘的0,1,2秒都運行一次,即一分鐘運行3次
    public void hello(){

        System.out.println("測試定時任務......");
    }
}

因爲是後臺自動定時執行,所以無需controller即可。到這裏還差一步,要去主啓動類中開啓定時任務的支持.只需在主啓動類中添加該註解即可:

@EnableScheduling

之後運行程序,觀察控制檯:
在這裏插入圖片描述
成功,該屬性的其他用法可以根據需求進行修改。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章