99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

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

Android編程精選 ? 來源:CSDN ? 作者:獅子頭兒 ? 2021-07-04 10:42 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

使用場景

在應用程序開發(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è)務,亦或是監(jiān)聽消息隊列……

遇到的坑

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

如下圖所示:

poYBAGDhIauAazacAAES8GYxook272.jpg

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

pYYBAGDhIcCAbjXTAAC-kw-u9nE692.jpg

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

poYBAGDhIcyAdesaAAMP2XZPpwQ085.jpg

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

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

填坑

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

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

pYYBAGDhIdmANq8WAADMJg-q-6k628.jpg

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

poYBAGDhIeKAEIBzAAExSe3vTYE626.jpg

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

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

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

責任編輯:lq6

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

    關(guān)注

    33

    文章

    9000

    瀏覽量

    153712
  • spring
    +關(guān)注

    關(guān)注

    0

    文章

    340

    瀏覽量

    15064
  • Boot
    +關(guān)注

    關(guān)注

    0

    文章

    153

    瀏覽量

    36747

原文標題:什么?Spring Boot CommandLineRunner 有坑?。?/p>

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    可能在 FX3 GPIF2 中創(chuàng)建兩個獨立的狀態(tài)機嗎?

    我想,如果我想通過 FX3 GPIF2 創(chuàng)建兩個獨立的傳輸流接口,我需要在 GPIF2 設計器中創(chuàng)建兩個獨立的狀態(tài)機,我是否可能在 GPIF2 設計器中創(chuàng)建
    發(fā)表于 05-20 06:14

    可以驅(qū)動兩個直流刷電機、一雙極步進電機的雙H橋電機驅(qū)動芯片-SS8833E

    電機驅(qū)動芯片 - SS8833E是一種雙橋電機驅(qū)動器,具有兩個H橋驅(qū)動器,可以驅(qū)動兩個直流刷電機、一雙極步進電機、電磁閥或其他電感負載。
    的頭像 發(fā)表于 02-12 09:43 ?508次閱讀
    可以驅(qū)動<b class='flag-5'>兩個</b>直流<b class='flag-5'>有</b>刷電機、一<b class='flag-5'>個</b>雙極步進電機的雙H橋電機驅(qū)動芯片-SS8833E

    EE-96:將兩個AD73311編解碼器與ADSP-218x接口

    電子發(fā)燒友網(wǎng)站提供《EE-96:將兩個AD73311編解碼器與ADSP-218x接口.pdf》資料免費下載
    發(fā)表于 01-13 16:32 ?0次下載
    EE-96:將<b class='flag-5'>兩個</b>AD73311編解碼器與ADSP-218x<b class='flag-5'>接口</b>

    ADC124S021同時使用兩個通道,兩個通道的轉(zhuǎn)換數(shù)據(jù)發(fā)生串擾怎么解決?

    用DSP的SPI接口接ADC124S021,如果只是進行單通道的信號采集,則轉(zhuǎn)換后的數(shù)值穩(wěn)定,但是同時使用兩個通道時則兩個通道的數(shù)據(jù)發(fā)生串擾現(xiàn)象。如,我單獨使用2通道,則轉(zhuǎn)換后數(shù)值穩(wěn)定,但是如果
    發(fā)表于 12-30 07:41

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

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

    兩個ADS1298連接采集ECG,兩個器件的WCT具體要怎么連接,是否器件的WCT可以懸空?

    兩個ADS1298連接采集ECG,根據(jù)數(shù)據(jù)手冊中的FIGURE45 device1的連接,所有RLDINV相連,RLDIN引腳是否都不用同RLDOUT 和RLDINV相連接?兩個器件的WCT具體要怎么連接,是否
    發(fā)表于 11-19 06:10

    OMAPL137可以連接兩個左右兩個通道麥克風輸入嗎?

    Hi!大家好!我一些問題:OMAPL137 Evm 技術(shù)手冊上寫有P4 Microphone In 接口是stereo microphone line input,如下圖。 意思是可以連接兩個
    發(fā)表于 10-29 06:04

    單相電機兩個繞組都在定子上嗎

    單相電機的兩個繞組,即起動線圈(或稱為輔助繞組、副繞組)和運行線圈(或稱為主繞組),都位于定子上 。這兩個繞組在電機中起著關(guān)鍵作用,共同協(xié)作以產(chǎn)生旋轉(zhuǎn)磁場,從而使電機能夠運轉(zhuǎn)。 單相電機通常由一
    的頭像 發(fā)表于 09-03 15:10 ?2173次閱讀

    ad如何設置兩個元器件的距離

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

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

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

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

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

    LMK05318具兩個頻域的超低抖動網(wǎng)絡同步器時鐘數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《LMK05318具兩個頻域的超低抖動網(wǎng)絡同步器時鐘數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 08-23 10:17 ?0次下載
    LMK05318具<b class='flag-5'>有</b><b class='flag-5'>兩個</b>頻域的超低抖動網(wǎng)絡同步器時鐘數(shù)據(jù)表

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

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

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

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

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

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