您要在哪裏存儲配置服務器的配置數據?管理此行爲的策略是EnvironmentRepository
,服務於Environment
對象。此Environment
是Spring Environment
(包括propertySources
做爲主要功能)的域的淺層副本。Environment
資源由三個變量參數化:mysql
{application}
映射到客戶端的「spring.application.name」;spring
{profile}
映射到客戶端上的「spring.profiles.active」(逗號分隔列表); 和sql
{label}
這是一個服務器端功能,標記「版本」的配置文件集。bootstrap
存儲庫實現一般表現得像一個Spring Boot應用程序從「spring.config.name」等於{application}
參數加載配置文件,「spring.profiles.active」等於{profiles}
參數。配置文件的優先級規則也與常規啓動應用程序相同:活動配置文件優先於默認配置,若是有多個配置文件,則最後一個獲勝(例如向Map
添加條目)。服務器
示例:客戶端應用程序具備此引導配置:app
bootstrap.yml命令行
spring: application: name: foo profiles: active: dev,mysql
(一般使用Spring Boot應用程序,這些屬性也能夠設置爲環境變量或命令行參數)。code
若是存儲庫是基於文件的,則服務器將從application.yml
建立Environment
(在全部客戶端之間共享),foo.yml
(以foo.yml
優先))。若是YAML文件中有文件指向Spring配置文件,那麼應用的優先級更高(按照列出的配置文件的順序),而且若是存在特定於配置文件的YAML(或屬性)文件,那麼這些文件也應用於優先級高於默認值。較高優先級轉換爲Environment
以前列出的PropertySource
。(這些規則與獨立的Spring Boot應用程序相同。)完整項目的源碼來源 技術支持1791743380對象