最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot簡單實現定時器過程

 更新時間:2023年04月18日 09:25:46   作者:程序員李哈  
這篇文章主要介紹了SpringBoot簡單實現定時器過程,對于Java后端來說肯定實現定時功能肯定是使用到Spring封裝好的定時調度Scheduled

前言

公司最近需要完成一個定時去DB查詢數據,把有問題的數據給篩選出來通過微信小程序的消息推送功能將有問題的數據推送給指定的員工去篩查問題。對于Java后端來說肯定實現定時功能肯定是使用到Spring封裝好的定時調度Scheduled。

正文

定時器的實現

Spring boot啟動類代碼,加入了@EnableScheduling注解來開啟定時器功能

@SpringBootApplication   
@EnableScheduling   // 開啟定時功能
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class,args);
    }
}

調度任務代碼,需要通過@Component注解將任務類注入到IoC容器中

@Component
public class TestSchedulingTask {
    // 這個cron表達式代表從0秒開始,每過3秒執(zhí)行一次。
    @Scheduled(cron = "0/3 * * * * ?")
    public void test(){
        // 大家可以根據公司的業(yè)務來實現,更希望是@Autowrite注入service層的接口,業(yè)務邏輯寫在service層中。
        // 這里測試我就輸出當前系統(tǒng)時間了...
        Date date  = new Date(System.currentTimeMillis());
        String rule = "yyyy-MM-dd HH:mm:ss";
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(rule);
        String format = simpleDateFormat.format(date);
        System.out.println(format);
    }
}

這里注意每個任務方法都要加上@Scheduled注解,并且規(guī)定好cron表達式。

完全可以放心,不會cron表達式沒關系,后面會詳細講解,并且網上也有在線生成cron表達式的網站,我們來看看控制臺輸出的結果吧。

cron表達式詳解

cron表達式

字段范圍允許的字符
秒(second)0-59,/-*
分(minute)0-59,/-*
小時(hour)0-23,/-*
日期(day of month)1-31(需要考慮月份不一致),/-*?LW
月份(month)1-12(對應的英文縮寫也行),/-*
星期(day of week)1-7,/-*?L
年(year)這玩意基本用不到這玩意基本用不到

允許的字符的解釋:

,:算是一個枚舉,多值的存在,比如second中5,20就代表5和20秒的時候觸發(fā)。

/:值1/值2,值1代表開始時間,值2代表隔多久一次,比如我案例中就是從0秒開始3秒觸發(fā)一次。

-:范圍值,從多久到多久。

*:全部范圍通用。

?:只存在于日期和星期中,假如你想要每個月2號觸發(fā),但是你星期用*就會每天都會觸發(fā),就會產生bug,所以需要?來代替*。

L:表示最后的意思,出現在日期和星期中,比如在日期中使用L就代表當月最后一天,在星期中使用3L就代表最后一個星期三觸發(fā)。

W:表示工作日,在日期中使用,假如使用9W,如果9號是星期1-5就直接觸發(fā),如果9號是星期六就8號觸發(fā),如果9號是星期天就星期一觸發(fā)也就是10號觸發(fā)。

其實懂個大概就夠了,能做筆記記錄是最好,因為有在線生成網站,百度隨便就能找到

總結

因為本人項目暫時不用考慮異步之類的所以本帖暫時沒有帶來異步的定時器,不過后續(xù)會出異步的帖子,關于定時任務的底層源碼也會出篇帖子來細講。

到此這篇關于SpringBoot簡單實現定時器過程的文章就介紹到這了,更多相關SpringBoot定時器內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Spring?Boot在Web應用中基于JdbcRealm安全驗證過程

    Spring?Boot在Web應用中基于JdbcRealm安全驗證過程

    這篇文章主要為大家介紹了Spring?Boot在Web應用中基于JdbcRealm安全驗證過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪<BR>
    2023-02-02
  • Java結合redis實現接口防重復提交

    Java結合redis實現接口防重復提交

    本文主要介紹了Java結合redis實現接口防重復提交,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Java的最大棧深度與JVM核心知識介紹

    Java的最大棧深度與JVM核心知識介紹

    這篇文章主要有兩個部分,一部分介紹JAVA的最大棧深度,第二部分介紹了JVM核心知識,需要的朋友可以參考下面文章的具體內容
    2021-09-09
  • Java JVM程序指令碼實例解析

    Java JVM程序指令碼實例解析

    這篇文章主要介紹了Java JVM程序指令碼實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01
  • Java通過SSM完成水果商城批發(fā)平臺流程

    Java通過SSM完成水果商城批發(fā)平臺流程

    這是一個使用了java+SSM開發(fā)的網上水果商城批發(fā)平臺,是一個實戰(zhàn)小練習,具有水果商城批發(fā)該有的所有功能,感興趣的朋友快來看看吧
    2022-06-06
  • java獲得mysql和oracle鏈接的類

    java獲得mysql和oracle鏈接的類

    這篇文章主要介紹了java獲得mysql和oracle鏈接的類,可實現基于jdbc的mysql與oracle數據庫連接,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • SpringCloud turbine監(jiān)控實現過程解析

    SpringCloud turbine監(jiān)控實現過程解析

    這篇文章主要介紹了SpringCloud turbine監(jiān)控實現過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • java IO流 之 輸出流 OutputString()的使用

    java IO流 之 輸出流 OutputString()的使用

    這篇文章主要介紹了java IO流 之 輸出流 OutputString()的使用的相關資料,需要的朋友可以參考下
    2016-12-12
  • Java concurrency之鎖_動力節(jié)點Java學院整理

    Java concurrency之鎖_動力節(jié)點Java學院整理

    這篇文章主要為大家詳細介紹了Java concurrency之鎖的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • SpringSession會話管理之Redis與JDBC存儲實現方式

    SpringSession會話管理之Redis與JDBC存儲實現方式

    本文將詳細介紹Spring Session的核心概念、特性以及如何使用Redis和JDBC來實現會話存儲,幫助開發(fā)者構建更加健壯和可擴展的應用系統(tǒng),希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04

最新評論

开封县| 南和县| 新安县| 达州市| 岳阳市| 绥棱县| 共和县| 长岛县| 靖远县| 靖远县| 嵊州市| 松滋市| 台江县| 岳西县| 黎川县| 蓝山县| 沅陵县| 绥江县| 昂仁县| 隆昌县| 大方县| 九龙坡区| 金寨县| 宁远县| 措美县| 汉川市| 虞城县| 衢州市| 斗六市| 佛山市| 宜兴市| 科技| 民和| 华宁县| 临安市| 台南市| 内乡县| 松桃| 茶陵县| 沁源县| 巫溪县|