91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringBoot中bootstrap.properties文件加載的原理是什么

發布時間:2021-12-31 14:11:54 來源:億速云 閱讀:339 作者:iii 欄目:開發技術

這篇文章主要介紹“SpringBoot中bootstrap.properties文件加載的原理是什么”,在日常操作中,相信很多人在SpringBoot中bootstrap.properties文件加載的原理是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”SpringBoot中bootstrap.properties文件加載的原理是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

??對于SpringBoot中的屬性文件相信大家在工作中用的是比較多的,對于application.properties和application.yml文件應該非常熟悉,但是對于bootstrap.properties文件和bootstrap.yml這個兩個文件用的估計就比較少了,用過的應該清楚bootstrap.properties中定義的文件信息會先與application.properties中的信息加載。而且大家在使用的時候還經常碰到獲取不到bootstrap.properties中定義的信息的困擾,本文就來給大家揭開這些謎團。

1.bootstrap的使用

??首先在SpringBoot中默認是不支持bootstrap.properties屬性文件的。我們需要映入SpringCloud的依賴才可以。

SpringBoot中bootstrap.properties文件加載的原理是什么

相關的版本環境

SpringBoot中bootstrap.properties文件加載的原理是什么

SpringBoot中bootstrap.properties文件加載的原理是什么

然后創建對應的bootstrap.properties文件,當然你也可以創建bootstrap.yml文件

SpringBoot中bootstrap.properties文件加載的原理是什么

同步的我們也會創建application.properties文件,其中會覆蓋一個屬性

SpringBoot中bootstrap.properties文件加載的原理是什么

然后我們在controller中獲取測試

SpringBoot中bootstrap.properties文件加載的原理是什么

訪問測試:http://localhost:8080/query

SpringBoot中bootstrap.properties文件加載的原理是什么

通過訪問看到bootstrap.properties中的信息獲取到了,同時age也被application.properties中的屬性覆蓋掉了。加載順序到底是什么?為什么會覆蓋呢?我們接下來分析。

2.bootstrap加載原理分析

??看本文之前最好看下我前面講解的SpringBoot中的監聽機制。

2.1 BootstrapApplicationListener

??在使用bootstrap.properties文件時我們需要映入相關的依賴

SpringBoot中bootstrap.properties文件加載的原理是什么

??其實在這個依賴中會在對應的spring.factories文件中給我們提供新的監聽器,也就是BootstrapApplicationListener監聽器。

SpringBoot中bootstrap.properties文件加載的原理是什么

??而BootstrapApplicationListener監聽觸發的事件是ApplicationEnvironmentPreparedEvent事件,這個事件其實和我們前面介紹監聽application.properties的時候的監聽器ConfigFileApplicationListener監聽的是同一個事件。

SpringBoot中bootstrap.properties文件加載的原理是什么

SpringBoot中bootstrap.properties文件加載的原理是什么

??如果你看了前面的文章,那么此處你會覺得有點眉目了。也就是當啟動的時候發布對應的事件,該監聽器會觸發相關的解析行為。

2.2 啟動流程梳理

??搞清楚了監聽器的關系后,我們來看下啟動的流程代碼具體是怎么執行的。

SpringBoot中bootstrap.properties文件加載的原理是什么

SpringBoot中bootstrap.properties文件加載的原理是什么

直接進入

SpringBoot中bootstrap.properties文件加載的原理是什么

在SpringApplication的構造方法中我們要注意兩點,1.監聽器的加載 2.main方法的主類記錄

SpringBoot中bootstrap.properties文件加載的原理是什么

然后回來進入run方法

SpringBoot中bootstrap.properties文件加載的原理是什么

SpringBoot中bootstrap.properties文件加載的原理是什么

Debug到第一個端點。

SpringBoot中bootstrap.properties文件加載的原理是什么

然后我們放過。

SpringBoot中bootstrap.properties文件加載的原理是什么

通過上面的動圖可以看到又進入了一次這個run方法。先看處理的結果。

SpringBoot中bootstrap.properties文件加載的原理是什么

然后我們再放過,繼續

SpringBoot中bootstrap.properties文件加載的原理是什么

分兩次加載,有先右后哦。那么這里面的第一個加載的原理到底是什么呢?繼續來分析。

2.3 bootstrap.properties的加載原理

??接下來看看是如果出現的一個父context來優先加載我們的bootstrap.properteis文件的,還是從這個圖開始

SpringBoot中bootstrap.properties文件加載的原理是什么

SpringBoot中bootstrap.properties文件加載的原理是什么

鏈路如上面一步步跟蹤即可。

SpringBoot中bootstrap.properties文件加載的原理是什么

跳過非關鍵的,直接進入到BootstrapApplicationListener中來看。

SpringBoot中bootstrap.properties文件加載的原理是什么

然后進入到 bootstrapServiceContext方法中。

SpringBoot中bootstrap.properties文件加載的原理是什么

這兒我們看到有創建了一個SpringApplication對象。這個其實就是父Context對象了。

SpringBoot中bootstrap.properties文件加載的原理是什么

進入run方法你會發現,回到了前面

SpringBoot中bootstrap.properties文件加載的原理是什么

SpringBoot中bootstrap.properties文件加載的原理是什么

到此,關于“SpringBoot中bootstrap.properties文件加載的原理是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

萨嘎县| 娱乐| 龙胜| 大田县| 遂川县| 布拖县| 临邑县| 安龙县| 营口市| 扶余县| 英德市| 海林市| 广宁县| 和平县| 澄城县| 台州市| 贺兰县| 光山县| 九龙坡区| 东阳市| 开江县| 蒲城县| 黄龙县| 兰州市| 寻甸| 伊宁县| 海原县| 旺苍县| 福建省| 股票| 思茅市| 济源市| 盘锦市| 凤翔县| 伊川县| 高雄县| 崇州市| 屏边| 仪征市| 阿克苏市| 宜阳县|