您要在哪裡存儲配置伺服器的配置資料?管理此行為的政策是EnvironmentRepository,服務于Environment對象。此Environment是Spring Environment(包括propertySources作為主要功能)的域的淺層副本。Environment資源由三個變量參數化:
{application}映射到用戶端的“spring.application.name”;
{profile}映射到用戶端上的“spring.profiles.active”(逗号分隔清單); 和
{label}這是一個伺服器端功能,标記“版本”的配置檔案集。
存儲庫實作通常表現得像一個Spring Boot應用程式從“spring.config.name”等于{application}參數加載配置檔案,“spring.profiles.active”等于{profiles}參數。配置檔案的優先級規則也與正常啟動應用程式相同:活動配置檔案優先于預設配置,如果有多個配置檔案,則最後一個獲勝(例如向Map添加條目)。
示例:用戶端應用程式具有此引導配置:
bootstrap.yml
spring:
application:
name: foo
profiles:
active: dev,mysql
(通常使用Spring Boot應用程式,這些屬性也可以設定為環境變量或指令行參數)。
如果存儲庫是基于檔案的,則伺服器将從application.yml建立Environment(在所有用戶端之間共享),foo.yml(以foo.yml優先))。如果YAML檔案中有檔案指向Spring配置檔案,那麼應用的優先級更高(按照列出的配置檔案的順序),并且如果存在特定于配置檔案的YAML(或屬性)檔案,那麼這些檔案也應用于優先級高于預設值。較高優先級轉換為Environment之前列出的PropertySource。(這些規則與獨立的Spring Boot應用程式相同。)