W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
如果從?SpringApplication
?或?SpringApplicationBuilder
?構(gòu)建應(yīng)用程序上下文,那么Bootstrap上下文將作為父級添加到該上下文。Spring的一個功能是子上下文從其父級繼承屬性源和配置文件,因此與構(gòu)建沒有Spring Cloud Config的相同上下文相比,“ 主 ”應(yīng)用程序上下文包含其他屬性源。其他屬性來源是:
PropertySourceLocators
?并且具有非空屬性,則會以高優(yōu)先級顯示可選的?CompositePropertySource
?。一個示例是Spring Cloud Config服務(wù)器中的屬性。有關(guān)如何自定義此屬性源內(nèi)容的說明,請參見“ 第2.6節(jié)“自定義Bootstrap Property源” ”。bootstrap.yml
?(或?.properties
?),則這些屬性用于配置Bootstrap上下文。然后,當(dāng)它們的父級被設(shè)置時,它們被添加到子級上下文。它們的優(yōu)先級低于?application.yml
?(或?.properties
?)以及創(chuàng)建Spring Boot應(yīng)用程序過程中正常添加到子級的任何其他屬性源的優(yōu)先級。有關(guān)如何自定義這些屬性源內(nèi)容的說明,請參見“ 第2.3節(jié)“更改引導(dǎo)程序Properties”的位置 ”。由于屬性源的排序規(guī)則,“ bootstrap ”條目優(yōu)先。但是,請注意,這些不包含來自?bootstrap.yml
?的任何數(shù)據(jù),該數(shù)據(jù)的優(yōu)先級非常低,但可用于設(shè)置默認值。
您可以通過設(shè)置創(chuàng)建的任何?ApplicationContext
?的父上下文來擴展上下文層次結(jié)構(gòu),例如,使用其自己的界面或使用?SpringApplicationBuilder
?便捷方法(?parent()
?,?child()
?和?sibling()
?)。引導(dǎo)上下文是您自己創(chuàng)建的最高級祖先的父級。層次結(jié)構(gòu)中的每個上下文都有其自己的“ bootstrap ”(可能為空)屬性源,以避免無意間將價值從父輩提升到子孫后代。如果有配置服務(wù)器,則層次結(jié)構(gòu)中的每個上下文原則上也可以具有不同的?spring.application.name
?,因此也具有不同的遠程屬性源。正常的Spring應(yīng)用程序上下文行為規(guī)則適用于屬性解析:子上下文的屬性按名稱以及屬性源名稱覆蓋父級屬性。(如果子項具有與父項同名的屬性源,則子項中不包括來自父項的值)。
請注意,?SpringApplicationBuilder
?可讓您在整個層次結(jié)構(gòu)中共享?Environment
?,但這不是默認設(shè)置。因此,同級上下文尤其不需要具有相同的配置文件或?qū)傩栽矗词顾鼈兛赡芘c其父級共享相同的值。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: