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

SpringBoot 在項(xiàng)目啟動(dòng)之后執(zhí)行自定義方法的兩種方式小結(jié)

 更新時(shí)間:2021年09月18日 11:52:38   作者:Nick  
這篇文章主要介紹了SpringBoot 在項(xiàng)目啟動(dòng)之后執(zhí)行自定義方法的兩種方式小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

SpringBoot 項(xiàng)目啟動(dòng)之后執(zhí)行自定義方法的兩種方式

在測(cè)試配置中心的配置時(shí),想在項(xiàng)目啟動(dòng)成功之后打印配置項(xiàng),然后需要執(zhí)行自定義的類

一般項(xiàng)目中也會(huì)在這個(gè)地方進(jìn)行初始化數(shù)據(jù)的一些操作

方式一 實(shí)現(xiàn) CommandLineRunner 接口

自定義類并實(shí)現(xiàn) CommandLineRunner 接口,實(shí)現(xiàn)run()方法,需要執(zhí)行的語(yǔ)句就放在 run() 方法中

例:

@Component
@Order(1)  // 控制類執(zhí)行的順序越小越靠前
public class StartInitializer implements CommandLineRunner {
    @Override
    public void run(String... args) throws Exception {
        System.out.println("項(xiàng)目啟動(dòng),執(zhí)行 CommandLineRunner 實(shí)現(xiàn)類的方法");
    }
}

方式二 實(shí)現(xiàn) ApplicationRunner 接口

自定義類并實(shí)現(xiàn) ApplicationRunner 接口,實(shí)現(xiàn)run()方法,需要執(zhí)行的語(yǔ)句就放在 run() 方法中

例:

@Component
@Order(2) // 控制類執(zhí)行的順序越小越靠前
public class AppInitializer implements ApplicationRunner {
    @Override
    public void run(ApplicationArguments args) throws Exception {
        System.out.println("項(xiàng)目啟動(dòng),執(zhí)行 ApplicationRunner 實(shí)現(xiàn)類的方法");
    }
}

二者區(qū)別

區(qū)別在于實(shí)現(xiàn)方法 run() 中的參數(shù)類型不一樣

實(shí)現(xiàn) ApplicationRunner 接口的 run() 方法參數(shù)類型為: ApplicationArguments

實(shí)現(xiàn) CommandLineRunner 接口的 run() 方法參數(shù)類型為: String...

實(shí)現(xiàn)效果

Springboot 項(xiàng)目啟動(dòng)后執(zhí)行某些自定義代碼

Springboot給我們提供了兩種“開(kāi)機(jī)啟動(dòng)”某些方法的方式:ApplicationRunner和CommandLineRunner。

這兩種方法提供的目的是為了滿足,在項(xiàng)目啟動(dòng)的時(shí)候立刻執(zhí)行某些方法。我們可以通過(guò)實(shí)現(xiàn)ApplicationRunner和CommandLineRunner,來(lái)實(shí)現(xiàn),他們都是在SpringApplication 執(zhí)行之后開(kāi)始執(zhí)行的。

CommandLineRunner接口可以用來(lái)接收字符串?dāng)?shù)組的命令行參數(shù),ApplicationRunner 是使用ApplicationArguments 用來(lái)接收參數(shù)的

代碼示例

@Component//被spring容器管理
@Order(1)//如果多個(gè)自定義ApplicationRunner,用來(lái)標(biāo)明執(zhí)行順序
public class MyApplicationRunner implements ApplicationRunner {
    @Override
    public void run(ApplicationArguments applicationArguments) throws Exception {
        System.out.println("-------------->" + "項(xiàng)目啟動(dòng),now=" + new Date());
        myTimer();
    }
    public static void myTimer(){
        Timer timer = new Timer();
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                System.out.println("------定時(shí)任務(wù)--------");
            }
        }, 0, 1000);
    }
}

執(zhí)行結(jié)果

2018-02-08 14:10:16.490  INFO 10236 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8081 (http)
-------------->項(xiàng)目啟動(dòng),now=Thu Feb 08 14:10:16 CST 2018
------定時(shí)任務(wù)--------
2018-02-08 14:10:16.497  INFO 10236 --- [           main] com.mlxs.springboot01.web.MainApp        : Started MainApp in 5.595 seconds (JVM running for 6.334)
------定時(shí)任務(wù)--------
------定時(shí)任務(wù)--------
------定時(shí)任務(wù)--------
------定時(shí)任務(wù)--------
------定時(shí)任務(wù)--------
------定時(shí)任務(wù)--------

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

相關(guān)文章

  • 詳解JDK 5 Annotation 注解之@Target的用法介紹

    詳解JDK 5 Annotation 注解之@Target的用法介紹

    這篇文章主要介紹了詳解JDK 5 Annotation 注解之@Target的用法介紹,需要的朋友可以參考下
    2016-02-02
  • Spring Cache的使用示例詳解

    Spring Cache的使用示例詳解

    SpringCache是構(gòu)建在SpringContext基礎(chǔ)上的緩存實(shí)現(xiàn),提供了多種緩存注解,如@Cachable、@CacheEvict、@CachePut等,本文通過(guò)實(shí)例代碼介紹了Spring Cache的使用,感興趣的朋友一起看看吧
    2025-01-01
  • 詳解Java中的實(shí)例初始化塊(IIB)

    詳解Java中的實(shí)例初始化塊(IIB)

    在本篇文章里我們針對(duì)Java中的實(shí)例初始化塊(IIB)做想詳細(xì)分析,有需要的朋友們可以跟著學(xué)習(xí)參考下。
    2018-10-10
  • 深入理解Java中的Lambda表達(dá)式

    深入理解Java中的Lambda表達(dá)式

    這篇文章主要介紹了深入理解Java中的Lambda表達(dá)式,Lambda在各編程語(yǔ)言中都是非常重要的特性,而Java中則加入得有些太晚...需要的朋友可以參考下
    2015-07-07
  • 淺談二分法查找和原始算法查找的效率對(duì)比

    淺談二分法查找和原始算法查找的效率對(duì)比

    這篇文章主要介紹了淺談二分法查找和原始算法查找的效率對(duì)比,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-08-08
  • 基于Spring監(jiān)聽(tīng)Binlog日志的方法詳解

    基于Spring監(jiān)聽(tīng)Binlog日志的方法詳解

    MySQL 的二進(jìn)制日志(binlog)有三種不同的格式,通常被稱為 binlog 模式,這三種模式分別是 Statement 模式、Row 模式和Mixed 模式,本文將給大家介紹如何基于Spring監(jiān)聽(tīng)Binlog日志,需要的朋友可以參考下
    2024-09-09
  • Java實(shí)現(xiàn)調(diào)用接口API并返回?cái)?shù)據(jù)

    Java實(shí)現(xiàn)調(diào)用接口API并返回?cái)?shù)據(jù)

    這篇文章主要介紹了Java實(shí)現(xiàn)調(diào)用接口API并返回?cái)?shù)據(jù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 關(guān)于java.util.Random的實(shí)現(xiàn)原理詳解

    關(guān)于java.util.Random的實(shí)現(xiàn)原理詳解

    Java實(shí)用工具類庫(kù)中的類java.util.Random提供了產(chǎn)生各種類型隨機(jī)數(shù)的方法,下面這篇文章主要給大家介紹了關(guān)于java.util.Random實(shí)現(xiàn)原理的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。
    2017-08-08
  • SpringBoot整合MybatisPlus的基本應(yīng)用指南

    SpringBoot整合MybatisPlus的基本應(yīng)用指南

    MyBatis-Plus ,簡(jiǎn)稱 MP,是一個(gè) MyBatis的增強(qiáng)工具,在 MyBatis 的基礎(chǔ)上只做增強(qiáng)不做改變,下面小編就來(lái)和大家介紹一下SpringBoot整合MybatisPlus的一些基本應(yīng)用吧
    2025-03-03
  • java 格式化輸出數(shù)字的方法

    java 格式化輸出數(shù)字的方法

    在實(shí)際工作中,常常需要設(shè)定數(shù)字的輸出格式,如以百分比的形式輸出,或者設(shè)定小數(shù)位數(shù)等,現(xiàn)稍微總結(jié)如下
    2014-01-01

最新評(píng)論

沁水县| 奉贤区| 广水市| 鄂州市| 台中市| 宿州市| 高青县| 拉萨市| 东阿县| 钟祥市| 登封市| 金寨县| 青田县| 伊金霍洛旗| 海阳市| 阜阳市| 六枝特区| 双峰县| 武夷山市| 桐乡市| 白银市| 水富县| 永定县| 昆山市| 忻城县| 商河县| 邵东县| 中西区| 渑池县| 布尔津县| 贵阳市| 岗巴县| 聊城市| 高雄县| 阿拉善左旗| 蒙城县| 德惠市| 桂平市| 霍邱县| 略阳县| 隆子县|