W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
大多數(shù)應(yīng)用程序配置存儲在您的配置文件(例如 application.yml)、環(huán)境特定文件(如 application-{environment}.{extension}、環(huán)境和系統(tǒng)屬性等)中。這些配置應(yīng)用程序上下文。但是在應(yīng)用程序啟動期間,在創(chuàng)建應(yīng)用程序上下文之前,可以創(chuàng)建一個“引導程序”上下文來存儲必要的配置,以檢索主上下文的附加配置。通常,該附加配置位于某些遠程源中。
根據(jù)以下條件啟用引導上下文。按以下順序檢查條件:
如果設(shè)置了 BOOTSTRAP_CONTEXT_PROPERTY 系統(tǒng)屬性,則該值確定是否啟用引導上下文。
如果設(shè)置了應(yīng)用程序上下文構(gòu)建器選項 bootstrapEnvironment,則該值確定是否啟用引導上下文。
如果存在 BootstrapPropertySourceLocator bean,則啟用引導上下文。通常這來自 micronaut-discovery-client 依賴項。
在解析應(yīng)用程序上下文配置屬性之前必須存在的配置屬性(例如,在使用分布式配置時)存儲在引導程序配置文件中。一旦確定引導程序上下文已啟用(如上所述),就會使用與常規(guī)應(yīng)用程序配置相同的規(guī)則讀取引導程序配置文件。唯一的區(qū)別是前綴(引導程序而不是應(yīng)用程序)。
文件名前綴 bootstrap 可使用系統(tǒng)屬性 micronaut.bootstrap.name 進行配置。
引導上下文配置會自動轉(zhuǎn)移到主上下文,因此沒有必要在主上下文中復(fù)制配置屬性。此外,引導上下文配置的優(yōu)先級高于主上下文,這意味著如果一個配置屬性出現(xiàn)在兩個上下文中,那么該值將首先從引導上下文中獲取。
這意味著如果兩個地方都需要一個配置屬性,它應(yīng)該進入引導上下文配置。
Bootstrap 上下文 Bean
為了使 bean 在 bootstrap 上下文中可解析,它必須用 @BootstrapContextCompatible 注釋。如果任何給定的 bean 沒有被注釋,那么它將無法在引導上下文中被解析。通常,任何參與檢索分布式配置過程的 bean 都需要進行注釋。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: