您要在哪裡儲存配置伺服器的配置資料?管理此行為的策略是EnvironmentRepository,服務於Environment物件。此Environment是Spring Environment(包括propertySources作為主要功能)的域的淺層副本。Environment資源由三個變數引數化:Spring Cloud大型企業分散式微服務雲架構原始碼請加一七九一七四三三八零
{application}對映到客戶端的“spring. application .name”;
{profile}對映到客戶端上的“spring.profiles.active”(逗號分隔列表); 和
{label}這是一個伺服器端功能,標記“版本”的配置檔案集。
儲存庫實現通常表現得像一個Spring Boot應用程式從“spring .config. name”等於{application}引數載入配置檔案,“spring.profiles.active”等於{profiles}引數。配置檔案的優先順序規則也與常規啟動應用程式相同:活動配置檔案優先於預設配置,如果有多個配置檔案,則最後一個獲勝(例如向Map新增條目)。
示例:客戶端應用程式具有此引導配置:
spring:
application:
name: foo
profiles:
active: dev,mysql
複製程式碼
(通常使用Spring Boot應用程式,這些屬性也可以設定為環境變數或命令列引數)。
如果儲存庫是基於檔案的,則伺服器將從application.yml建立Environment(在所有客戶端之間共享),foo.yml(以foo.yml優先))。如果YAML檔案中有檔案指向Spring配置檔案,那麼應用的優先順序更高(按照列出的配置檔案的順序),並且如果存在特定於配置檔案的YAML(或屬性)檔案,那麼這些檔案也應用於優先順序高於預設值。較高優先順序轉換為Environment之前列出的PropertySource。(這些規則與獨立的Spring Boot應用程式相同。)