91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

3天內不再提示

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ù)結果來處理不同的業(yè)務,亦或是監(jiān)聽消息隊列……

遇到的坑

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

如下圖所示:

poYBAGDhIauAazacAAES8GYxook272.jpg

下面我們模擬一下啟動項目時使用CommandLineRunner,有人說CommandLineRunner是項目啟動完成后才調用的,我們看看現(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

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

    關注

    33

    文章

    9533

    瀏覽量

    157125
  • spring
    +關注

    關注

    0

    文章

    341

    瀏覽量

    15952
  • Boot
    +關注

    關注

    0

    文章

    154

    瀏覽量

    37765

原文標題:什么?Spring Boot CommandLineRunner 有坑???

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    兩個RS485(Modbus RTU)主站與主站之間如何通訊

    本產品能很好解決Master-1主站向模塊寫入數(shù)據(jù),Master-2主站讀取數(shù)據(jù);Master-2主站向模塊寫入數(shù)據(jù),Master-1主站讀取數(shù)據(jù)。由此解決兩個主站之間的互相讀通信難題。
    的頭像 發(fā)表于 02-08 15:32 ?675次閱讀
    <b class='flag-5'>兩個</b>RS485(Modbus RTU)主站與主站之間如何通訊

    兩個RS485-Modbus主站如何通訊

    本產品能很好解決Master-1主站向模塊寫入數(shù)據(jù),Master-2主站讀取數(shù)據(jù);Master-2主站向模塊寫入數(shù)據(jù),Master-1主站讀取數(shù)據(jù)。由此解決兩個主站之間的互相讀通信難題。
    發(fā)表于 02-08 15:32 ?0次下載

    使用博圖(TIA Portal)監(jiān)控PROFINET從站通訊狀態(tài)的兩個方法

    如何使用博圖監(jiān)控Profinet從站通訊狀態(tài),這里兩個方法供你選擇。 方法一 | 使用DeviceStates指令 創(chuàng)建全局數(shù)據(jù)塊 在博圖項目中,創(chuàng)建一全局數(shù)據(jù)塊(DB),用于存儲從站狀態(tài)信息
    的頭像 發(fā)表于 01-17 11:21 ?1274次閱讀
    使用博圖(TIA Portal)監(jiān)控PROFINET從站通訊狀態(tài)的<b class='flag-5'>兩個</b>方法

    曙光存儲連續(xù)斬獲兩個行業(yè)獎項

    近期,曙光存儲連續(xù)斬獲兩個行業(yè)獎項,自研技術產品在國產突破、AI行業(yè)應用等方面的成果獲得廣泛關注。
    的頭像 發(fā)表于 01-15 16:28 ?2574次閱讀

    FreeRtos 能否同時使用兩個 CPU?

    的情況下,CM0 更愿意專門用于管理外設。 - 是否在 CM0 和 CM4 中同時運行代碼的簡單示例或教程? - FreeRtos 能否同時使用兩個 CPU?
    發(fā)表于 11-11 08:28

    硬件SPI兩個CS操作兩個norflash,怎么互斥操作兩個norflash?

    硬件SPI兩個CS操作兩個norflash,怎么互斥操作兩個norflash,norf
    發(fā)表于 09-26 06:18

    種TVS啥不同?

    當我們查看TVS二極管的規(guī)格書,常會看到以下種種引腳功能標識圖:對于初學者,看到感到疑惑,他們一樣嗎?他們啥區(qū)別?為啥有的兩個尖頭往外,陽極連在一起,有的
    的頭像 發(fā)表于 09-15 20:27 ?828次閱讀
    這<b class='flag-5'>兩</b>種TVS<b class='flag-5'>有</b>啥不同?

    基本半導體連獲兩個行業(yè)獎項

    近日,基本半導體憑借在碳化硅模塊領域的突出表現(xiàn),連獲“國產SiC模塊TOP企業(yè)獎”和“年度優(yōu)秀功率器件產品獎”兩個行業(yè)獎項。
    的頭像 發(fā)表于 09-05 16:31 ?1127次閱讀

    晶振旁邊兩個電容,分別起到什么作用

    晶振旁的兩個電容通常為匹配電容,雖功能相互關聯(lián),但在電路中通過協(xié)同作用實現(xiàn)不同目標。 靠近晶振引腳的電容 優(yōu)化信號波形 :該電容與晶振、另一顆電容構成諧振回路,在振蕩過程中,能有效過濾雜散信號
    的頭像 發(fā)表于 07-01 10:56 ?787次閱讀

    圖中兩個按鍵開關是兩個干簧管,為什么不直接對GND設計來檢測這個干簧管通斷呢?

    圖中兩個按鍵開關是兩個干簧管,為什么不直接對GND設計來檢測這個干簧管通斷呢? 這樣設計的原理是什么?
    發(fā)表于 06-17 06:30

    看到STM8L152用兩個IO用兩個或非門檢測兩個通斷,是什么原理呢?

    圖中兩個按鍵開關是兩個干簧管,為什么不直接對GND設計來檢測這個干簧管通斷呢? 這樣設計的原理是什么?
    發(fā)表于 06-12 06:25

    k230的兩個csi0和csi1啥用?它怎么用?

    k230的兩個csi0和csi1啥用?它怎么用?在canmv上,求各位大佬推資料
    發(fā)表于 06-06 08:21

    兩個關于PMG1 PoR的問題求解

    兩個關于 PMG1 PoR 的問題。 1.復位時POWER_DRILL2GO什么時候進入? 也許您想在電壓低于預設值時強制 EZ-PD? PMG1-S1 MCU 設備復位
    發(fā)表于 05-23 07:07

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

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

    請問imx8mp的LVDS0和LVDS1接口是否可以同時在兩個屏幕上工作?

    請問 imx8mp 的 LVDS0 和 LVDS1 接口是否可以同時在兩個屏幕上工作? 你什么例子嗎?
    發(fā)表于 04-14 06:11