SpringBoot之bootstrap和application的區(qū)別解讀
bootstrap和application的區(qū)別說(shuō)明
bootstrap和application都是SpringBoot項(xiàng)目中的配置文件,他們的區(qū)別主要有以下的幾個(gè)方面
(1)加載順序區(qū)別
bootstrap配置文件是比application配置文件優(yōu)先加載的,因?yàn)閎ootstrap是由spring父上下文加載,而application是由子上下文加載
(2)優(yōu)先級(jí)區(qū)別
bootstrap加載的配置信息是不能被application的相同配置覆蓋的,如果兩個(gè)配置文件同時(shí)存在,也是以bootstrap為主
(3)應(yīng)用場(chǎng)景區(qū)別 bootstrap常見應(yīng)用場(chǎng)景
1.配置一些固定的,不能被覆蓋的屬性.用于一些系統(tǒng)級(jí)別的參數(shù)配置
本地的配置文件是默認(rèn)不能覆蓋遠(yuǎn)程的配置的
2.一些需要加密/解密的場(chǎng)景
3.當(dāng)你使用了Spring Cloud Config配置中心時(shí),這時(shí)需要在boostrap配置文件中添加連接到配置中心的配置屬性來(lái)加載外部配置中心的配置信息,專業(yè)翻譯如下
application常見應(yīng)用場(chǎng)景
1.常用于SpringBoot項(xiàng)目的自動(dòng)化配置
2.用于一些應(yīng)用級(jí)別的參數(shù)配置
在大部分情況下不用區(qū)分這兩種情況,只需要使用application即可,效果基本是一致的
SpringBoot配置優(yōu)先級(jí)(bootstrap和application)
bootstrap和application的區(qū)別
- bootstrap.yml 先于 application.yml。
- bootstrap.yml 用于 ApplicationContext 引導(dǎo)階段。由父 Spring ApplicationContext 加載。定義系統(tǒng)級(jí)別的參數(shù)配置,這些參數(shù)一般不會(huì)變動(dòng)。
- application.yml 用來(lái)定義應(yīng)用級(jí)別的參數(shù)配置。搭配 spring-cloud-config 使用時(shí) application.yml 定義的參數(shù)可以實(shí)現(xiàn)動(dòng)態(tài)替換。
- application.yml 會(huì)覆蓋 bootstrap.yml 的參數(shù)配置。
springboot的配置優(yōu)先級(jí)
由里向外,外層覆蓋里層。
命令行參數(shù) > 操作系統(tǒng)環(huán)境變量 > 應(yīng)用外的配置文件 > 應(yīng)用內(nèi)的配置文件
加入springcloud配置中心后
配置中心 > 命令行參數(shù) > 本地application.yml > 本地bootstrap.yml
配置允許覆蓋:
spring: ? cloud: ? ? config: ? ? ? allowOverride: true ? ? ? overrideNone: true ? ? ? overrideSystemProperties: false
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
解決idea中@Data標(biāo)簽getset不起作用的問(wèn)題
這篇文章主要介紹了解決idea中@Data標(biāo)簽getset不起作用的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02詳解基于Spring Cloud幾行配置完成單點(diǎn)登錄開發(fā)
這篇文章主要介紹了詳解基于Spring Cloud幾行配置完成單點(diǎn)登錄開發(fā),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-02-02SpringBoot實(shí)現(xiàn)項(xiàng)目文件上傳的方法詳解
這篇文章主要為大家詳細(xì)介紹了SpringBoot中實(shí)現(xiàn)項(xiàng)目文件上傳的相關(guān)資料,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以了解一下2022-11-11Python文件高級(jí)操作函數(shù)之文件信息獲取與目錄操作
這篇文章主要介紹了Python文件高級(jí)操作函數(shù)之文件信息獲取與目錄操作,在Python中,內(nèi)置了文件(File)對(duì)象。在使用文件對(duì)象時(shí),首先需要通過(guò)內(nèi)置的open()方法創(chuàng)建一個(gè)文件對(duì)象,然后通過(guò)該對(duì)象提供的方法進(jìn)行一些基本文件操作,需要的朋友可以參考下2023-05-05springcloud gateway網(wǎng)關(guān)服務(wù)啟動(dòng)報(bào)錯(cuò)的解決
這篇文章主要介紹了springcloud gateway網(wǎng)關(guān)服務(wù)啟動(dòng)報(bào)錯(cuò)的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03mybatis-plus自動(dòng)裝配時(shí)間失效的解決
本文主要介紹了mybatis-plus自動(dòng)裝配時(shí)間失效,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04java實(shí)戰(zhàn)CPU占用過(guò)高問(wèn)題的排查及解決
這篇文章給大家分享了java實(shí)戰(zhàn)CPU占用過(guò)高問(wèn)題的排查及解決方法,有需要的朋友們可以學(xué)習(xí)下。2018-08-08