application.properties和 bootstrap.yml 區(qū)別

1.首先ymlproperties文件都是屬于配置文件,功能一樣。主要是區(qū)別于application和bootstrap的加載順序。

Bootstrap.yml(bootstrap.properties)在application.yml(application.properties)之前加載,就像application.yml一樣,但是用于應(yīng)用程序上下文的引導(dǎo)階段。

2.典型場景

1.當(dāng)使用 Spring Cloud Config Server的時候,你應(yīng)該在 bootstrap.yml里面指定 spring.application.namespring.cloud.config.server.git.uri
2.一些加密/解密的信息

技術(shù)上,bootstrap.yml由父Spring ApplicationContext加載。父ApplicationContext被加載到使用application.yml的之前。

當(dāng)使用 Spring Cloud 的時候,配置信息一般是從 config server 加載的,為了取得配置信息(比如密碼等),你需要一些提早的或引導(dǎo)配置。因此,把 config server 信息放在 bootstrap.yml,用來加載真正需要的配置信息。

3.屬性覆蓋問題

啟動上下文時,Spring Cloud會創(chuàng)建一個Bootstrap Context,作為Spring應(yīng)用的Application Context的父上下文。初始化的時候,Bootstrap Context負(fù)責(zé)從外部源加載配置屬性并解析配置。這兩個上下文共享一個從外部獲取的Environment。Bootstrap屬性有高優(yōu)先級,默認(rèn)情況下,它們不會被本地配置覆蓋。 Bootstrap contextApplication Context有著不同的約定,所以新增了一個bootstrap.yml文件,而不是使用application.yml (或者application.properties)。保證Bootstrap ContextApplication Context配置的分離。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容