在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CommandLineRunner和ApplicationRunner兩個接口有何不同?

Android編程精選 ? 來源:CSDN ? 作者:獅子頭兒 ? 2021-07-04 10:42 ? 次閱讀

使用場景

在應(yīng)用程序開發(fā)過程中,往往我們需要在容器啟動的時候執(zhí)行一些操作。

Spring Boot中提供了CommandLineRunner和ApplicationRunner兩個接口來實現(xiàn)這樣的需求。

兩個接口的不同

參數(shù)不同,其他大體相同,可根據(jù)實際需求選擇合適的接口使用。

CommandLineRunner接口中run方法的參數(shù)為String數(shù)組,ApplicationRunner中run方法的參數(shù)為ApplicationArguments。

特殊的場景

在啟動項目時,有時候我們所做的操作可能不是一次性的操作,有可能循環(huán)查詢數(shù)據(jù)庫,根據(jù)結(jié)果來處理不同的業(yè)務(wù),亦或是監(jiān)聽消息隊列……

遇到的坑

看下面一個例子,我們啟動一個spring boot項目,正常啟動情況下,項目啟動后會打印啟動時間。

如下圖所示:

poYBAGDhIauAazacAAES8GYxook272.jpg

下面我們模擬一下啟動項目時使用CommandLineRunner,有人說CommandLineRunner是項目啟動完成后才調(diào)用的,我們看看現(xiàn)象。

pYYBAGDhIcCAbjXTAAC-kw-u9nE692.jpg

再次啟動spring boot 項目,看看日志,直接報錯,啟動異常了。

poYBAGDhIcyAdesaAAMP2XZPpwQ085.jpg

說明啟動CommandLineRunner的執(zhí)行其實是整個應(yīng)用啟動的一部分,沒有打印最后的啟動時間,說明項目是在CommandLineRunner執(zhí)行完成之后才啟動完成的。

此時CommandLineRunner的run方法執(zhí)行的是一個循環(huán),循環(huán)到第四次的時候,拋出異常,直接影響主程序的啟動。

填坑

這樣的問題該如何解決呢?

這個操作影響了主線程,那么我們是否可以重新開啟一個線程,讓他單獨去做我們想要做的操作呢。

pYYBAGDhIdmANq8WAADMJg-q-6k628.jpg

我們再看看這次的日志是什么樣的:

poYBAGDhIeKAEIBzAAExSe3vTYE626.jpg

此時CommandLineRunner執(zhí)行的操作和主線程是相互獨立的,拋出異常并不會影響到主線程。

程序打印了啟動時間,并且CommandLineRunner中run方法報錯后,應(yīng)用程序并沒有因為異常而終止。填坑成功。

原文鏈接:https://blog.csdn.net/zwq_zwq_zwq/article/details/81059017

責(zé)任編輯:lq6

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8596

    瀏覽量

    151146
  • spring
    +關(guān)注

    關(guān)注

    0

    文章

    340

    瀏覽量

    14343
  • Boot
    +關(guān)注

    關(guān)注

    0

    文章

    149

    瀏覽量

    35837

原文標(biāo)題:什么?Spring Boot CommandLineRunner 有坑!?

文章出處:【微信號:AndroidPush,微信公眾號:Android編程精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    ads1013兩個模擬輸入,可以接不同的兩個模擬輸入嗎?

    ads1013兩個模擬輸入,可以接不同的兩個模擬輸入嗎,驅(qū)動程序中怎么分別讀兩個模擬輸入的轉(zhuǎn)換結(jié)果?
    發(fā)表于 12-02 08:02

    ad如何設(shè)置兩個元器件的距離

    在Altium Designer(簡稱AD)中設(shè)置兩個元器件之間的距離,主要是通過設(shè)置元器件間的安全間距(Clearance)規(guī)則來實現(xiàn)的。這個規(guī)則定義了元器件之間、元器件與走線之間以及其他設(shè)計元素
    的頭像 發(fā)表于 09-02 15:31 ?7033次閱讀

    sr鎖存器特性表q為什么兩個

    SR鎖存器特性表中Q之所以兩個值,是因為這些值分別代表了鎖存器在不同輸入條件下的狀態(tài)。具體來說,Q的兩個值分別對應(yīng)了鎖存器的“當(dāng)前狀態(tài)”(也稱為“初態(tài)”或“現(xiàn)態(tài)”)和“新狀態(tài)”(也稱為“次態(tài)”或
    的頭像 發(fā)表于 08-28 09:28 ?710次閱讀

    功放機AB兩個聲道輸出怎么接

    聲道輸出可以分別連接到組音箱上,以實現(xiàn)立體聲效果。這種接線方式簡單直接,適用于大多數(shù)家庭影院和音響系統(tǒng)。 接線步驟: 確認接口 :首先,確認功放機AB兩個聲道輸出的接口類型(如RCA
    的頭像 發(fā)表于 08-23 10:40 ?2756次閱讀

    觸發(fā)器的兩個穩(wěn)定狀態(tài)分別是什么

    觸發(fā)器作為數(shù)字電路中的基本邏輯單元,具有兩個穩(wěn)定狀態(tài),這兩個狀態(tài)通常用于表示二進制數(shù)碼中的0和1。
    的頭像 發(fā)表于 08-12 11:01 ?1166次閱讀

    雙穩(wěn)態(tài)電路的兩個穩(wěn)定狀態(tài)是什么

    雙穩(wěn)態(tài)電路是一種具有兩個穩(wěn)定狀態(tài)的電子電路,廣泛應(yīng)用于數(shù)字電路、通信系統(tǒng)、存儲器等領(lǐng)域。 雙穩(wěn)態(tài)電路的基本概念 雙穩(wěn)態(tài)電路是一種具有兩個穩(wěn)定狀態(tài)的電路,即在沒有外部輸入信號的情況下,電路可以保持在
    的頭像 發(fā)表于 08-11 15:00 ?1420次閱讀

    雙穩(wěn)態(tài)觸發(fā)器的兩個基本性質(zhì)是什么

    雙穩(wěn)態(tài)觸發(fā)器(Bistable Trigger)是一種具有兩個穩(wěn)定狀態(tài)的邏輯電路,廣泛應(yīng)用于數(shù)字電路設(shè)計中。它具有兩個基本性質(zhì):記憶性和切換性。 一、雙穩(wěn)態(tài)觸發(fā)器的基本概念 1.1 雙穩(wěn)態(tài)觸發(fā)器
    的頭像 發(fā)表于 08-11 10:08 ?687次閱讀

    CYW4373E的兩個clm_blob文件何不同?

    : \"cyfmac4373.clm_blob\" 和\"cyfmac4373-sdio.clm_blob\" clm_blob 文件。 請問這兩個文件什么區(qū)別,哪個適用于 SDIO 接口
    發(fā)表于 05-31 15:32

    請問ad9171的兩個輸出端口是否支持同時輸出兩個不同的頻率?

    你好,關(guān)于AD9171芯片我問題 ,數(shù)據(jù)手冊顯示該芯片具有兩個輸出通道,芯片內(nèi)部DAC0和DAC1共兩個DAC通道,那么這
    發(fā)表于 05-28 06:20

    兩個銅片可以形成原電池嗎

    兩個銅片本身不能形成原電池,因為原電池的工作原理依賴于兩個不同電位的電極材料之間的氧化還原反應(yīng)。
    的頭像 發(fā)表于 05-21 16:23 ?965次閱讀

    STM32有沒有帶兩個USB FS接口的型號,求推薦?

    請教一下,STM32 的芯片,有沒有帶兩個USB FS 接口的型號,推薦一下,非常感謝! 兩個USB都需要做為主機使用。
    發(fā)表于 04-24 06:14

    arcgis中如何關(guān)聯(lián)兩個屬性表

    在ArcGIS中,關(guān)聯(lián)兩個屬性表是一重要的操作,可以通過此操作將兩個表中的數(shù)據(jù)關(guān)聯(lián)起來,以便進行分析和查詢。下面是詳細介紹如何在ArcGIS中實現(xiàn)屬性表的關(guān)聯(lián)。 首先,我們需要明確兩個
    的頭像 發(fā)表于 02-25 11:01 ?4235次閱讀

    兩個電位器地控制一變頻器,如何接線?

    兩個電位器地控制一變頻器,如何接線? 接線方式如下: 1. 首先,明確需要使用的電器設(shè)備。在這個場景中,我們需要兩個電位器(即可變電阻器)和一
    的頭像 發(fā)表于 02-05 10:13 ?5269次閱讀

    CYW54591 SoC兩個物理獨立的wifi接口嗎?

    關(guān)于 CYW54591的問題。 這個 SoC 兩個物理獨立的 wifi 接口嗎? 這意味著單獨的 MAC 地址以及像
    發(fā)表于 01-23 07:28

    光纖和光纜何不同之處?

    很多人會有這樣的疑問,光纖和光纜何不同之處?主要是因為光纖和光纜這兩個名詞容易引起混淆。在嚴格的定義下,光纖和光纜是種不同的東西,然而在現(xiàn)實生活中,許多人仍然會混淆這
    的頭像 發(fā)表于 01-15 17:01 ?850次閱讀
    主站蜘蛛池模板: 天天干视频在线观看| 国产片18在线观看| 欧美性一区| 亚洲成人免费在线| 一级做α爰片久久毛片| 午夜免费成人| 华人永久免费视频| 影音先锋色天使| 美女好紧好大好爽12p| 99综合在线| 亚洲日本精品| 国产精品9999久久久久仙踪林| 久久天天躁狠狠躁夜夜免费观看 | 在线播放你懂| 精品色| 天天躁日日躁狠狠躁一级毛片| 国产毛片哪里有| 亚洲电影在线播放| 高清毛片aaaaaaaaa片| 黄色网址网站在线观看| 色婷婷激情| 天天摸夜班摸天天碰| 精品视频一区二区三区| 激情综合亚洲| 天天插天天射| 4338×亚洲全国最大色成网站| 日本免费小视频| a级毛毛片看久久| 国产又粗又大又爽又免费| 亚洲欧洲第一页| 四虎在线影院| 天天视频黄| 一个色亚洲| 黄色生活毛片| 免费免费啪视频在线| 欧美性生活一级| 狠狠燥| 亚洲综合色视频| 91色在线观看| 日本欧美一区二区三区不卡视频| 黄页在线播放网址|