您要在哪里存储配置服务器的配置数据?管理此行为的策略是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对象