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

SpringBoot使用CommandLineRunner和ApplicationRunner執(zhí)行初始化業(yè)務(wù)方式

 更新時(shí)間:2024年08月20日 09:49:22   作者:BlueKitty1210  
這篇文章主要介紹了SpringBoot使用CommandLineRunner和ApplicationRunner執(zhí)行初始化業(yè)務(wù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

業(yè)務(wù)場(chǎng)景

在業(yè)務(wù)場(chǎng)景中,有些情況下需要我們一啟動(dòng)項(xiàng)目就執(zhí)行一些操作.

例如數(shù)據(jù)配置的相關(guān)初始化,通用緩存的數(shù)據(jù)構(gòu)造等。

SpringBoot為我們提供了CommandLineRunner和ApplicationRunner兩個(gè)接口來(lái)實(shí)現(xiàn)這個(gè)功能。

接口說(shuō)明

CommandLineRunner和ApplicationRunner兩個(gè)接口除了參數(shù)不同,其他基本相同,可以根據(jù)實(shí)際需求選擇使用.

CommandLineRunner中的run方法參數(shù)為String..., ApplicationRunner中的run方法參數(shù)為ApplicationArguments.

在同等順序中,ApplicationRunner會(huì)比CommandLineRunner優(yōu)先執(zhí)行

使用方法

定義一個(gè)類實(shí)現(xiàn)該接口,重寫其中的run方法即可. 如果有多個(gè)實(shí)現(xiàn)類,我們可以通過@Order注解來(lái)定義優(yōu)先級(jí)(數(shù)字越低越先執(zhí)行)

@Order(1)
@Component
public class MyCommandLineRunner1 implements CommandLineRunner {

    @Override
    public void run(String... args) throws Exception {
        System.out.println("========== 初始任務(wù)MyCommandLineRunner1 ==========");
    }
}

@Order(2)
@Component
public class MyCommandLineRunner2 implements CommandLineRunner {

    @Override
    public void run(String... args) throws Exception {
        System.out.println("========== 初始任務(wù)MyCommandLineRunner2 ==========");
//        throw new RuntimeException("模擬異常");
    }
}

@Order(2)
@Component
public class MyApplicationRunner1 implements ApplicationRunner {

    @Override
    public void run(ApplicationArguments args) throws Exception {
        System.out.println("========== 初始任務(wù)MyApplicationRunner1 ==========");
    }
}

啟動(dòng)項(xiàng)目, 輸出如下:

注意事項(xiàng)

1. CommandLineRunner和ApplicationRunner的執(zhí)行其實(shí)是整個(gè)項(xiàng)目啟動(dòng)周期中的一部分,Runner執(zhí)行完成后,才最終啟動(dòng)項(xiàng)目.

2. 如果Runner中出現(xiàn)異常, 就會(huì)影響項(xiàng)目的啟動(dòng),所以要在Runner中處理異常

3. 如果Runner中需要指定定時(shí)周期任務(wù)(如一直循環(huán)打印某些信息等),需要在異步線程中執(zhí)行,否則項(xiàng)目的主線程會(huì)一直阻塞,無(wú)法啟動(dòng)成功

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java模擬實(shí)現(xiàn)銀行ATM機(jī)操作

    java模擬實(shí)現(xiàn)銀行ATM機(jī)操作

    這篇文章主要為大家詳細(xì)介紹了java模擬實(shí)現(xiàn)銀行ATM機(jī)操作,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • SpringCloud之LoadBalancer負(fù)載均衡服務(wù)調(diào)用過程

    SpringCloud之LoadBalancer負(fù)載均衡服務(wù)調(diào)用過程

    這篇文章主要介紹了SpringCloud之LoadBalancer負(fù)載均衡服務(wù)調(diào)用過程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • SpringSecurity整合Jwt過程圖解

    SpringSecurity整合Jwt過程圖解

    這篇文章主要介紹了SpringSecurity整合Jwt過程圖解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • 詳談Array和ArrayList的區(qū)別與聯(lián)系

    詳談Array和ArrayList的區(qū)別與聯(lián)系

    下面小編就為大家?guī)?lái)一篇詳談Array和ArrayList的區(qū)別與聯(lián)系。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2017-06-06
  • Java中的static和final關(guān)鍵字的使用詳解

    Java中的static和final關(guān)鍵字的使用詳解

    這篇文章主要介紹了Java中的static和final關(guān)鍵字的使用詳解,  當(dāng)方法名前有static,即為static方法,可以方便我們無(wú)需創(chuàng)建對(duì)象也可以調(diào)用此方法,靜態(tài)方法比較拉,只可以訪問 靜態(tài)的 屬性/變量/方法,無(wú)法訪問非靜態(tài)的這些屬性/變量/方法,需要的朋友可以參考下
    2024-01-01
  • java將一個(gè)目錄下的所有數(shù)據(jù)復(fù)制到另一個(gè)目錄下

    java將一個(gè)目錄下的所有數(shù)據(jù)復(fù)制到另一個(gè)目錄下

    這篇文章主要為大家詳細(xì)介紹了java將一個(gè)目錄下的所有數(shù)據(jù)復(fù)制到另一個(gè)目錄下,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • IDEA工具maven不加載jar包問題排查及解決

    IDEA工具maven不加載jar包問題排查及解決

    文章記錄了在IDEA中Maven不加載jar包的問題排查過程,嘗試更換Maven、檢查配置等方法均未解決,最后僅通過命令行手動(dòng)執(zhí)行mvn命令暫時(shí)解決,但I(xiàn)DEA中依賴仍不加載
    2025-10-10
  • Java中的注解與注解處理器

    Java中的注解與注解處理器

    這篇文章主要介紹了Java中的注解與注解處理器,元注解的作用是負(fù)責(zé)注解其他注解, Java5.0定義了4個(gè)標(biāo)準(zhǔn)的meta-annotation(元注解)類型,它們被用來(lái)提供對(duì)其它注解類型進(jìn)行說(shuō)明,需要的朋友可以參考下
    2023-11-11
  • Java生成驗(yàn)證碼

    Java生成驗(yàn)證碼

    本文介紹了Java生成驗(yàn)證碼的流程與方法。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-02-02
  • 詳解SpringBoot2 使用Spring Session集群

    詳解SpringBoot2 使用Spring Session集群

    這篇文章主要介紹了SpringBoot2 使用Spring Session集群,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-04-04

最新評(píng)論

原阳县| 沅江市| 建水县| 铁岭市| 泸水县| 宁国市| 错那县| 嵊州市| 西安市| 灵川县| 民勤县| 农安县| 获嘉县| 迁安市| 邯郸市| 苗栗县| 沙湾县| 湖北省| 华宁县| 正蓝旗| 呼和浩特市| 河曲县| 固原市| 合阳县| 福建省| 渝北区| 长泰县| 长治市| 图木舒克市| 揭东县| 疏附县| 临泉县| 昌宁县| 湟源县| 乌恰县| 白城市| 富蕴县| 昭平县| 台东县| 红原县| 元阳县|