Environment Repository

想在哪存放存储配置服务器的配置数据?管理这个方面的策略是使用EnvironmentRepository来服务环境对象。这个环境是从Spring Environment的domain浅拷贝(包括做为主要特性的propertySources)。环境资源有3个变量的参数形势。

  • {application}:映射到客户端的"spring.application.name"
  • {profile}:映射到客户端的"spring.profiles.active"
  • {label}:这是服务端的特性,标记了配置文件的版本

仓库实现了普通的行为,Spring Boot 应用从"spring.config.name"({application}参数)以及"spring.profiles.active" ({profiles}参数) 加载配置文件。优先级规则与常规的Boot应用规则一致:active的profiles的优先级高于defaults,如果有多个profiles文件,最后一个优先级最高。

客户端应用的配置的例子

bootstrap.xml

spring:
  application:
    name: foo
  profiles:
    active: dev,mysql

和普通的Spring Boot应用一样,这些属性可以被设置成环境变量或命令行参数。

如果仓库是基于文件的,服务会根据application.yml(在所有的客户端共享)和foo.yml(高的优先级) 创建环境。如果在YAML文件中有文件指向了profiles,这些会有更高的优先级(按照profiles的顺序),如果有指定的profile YAML(或properties),这些文件也比默认属性有更高的优先级。更高的优先级会转换到PropertySource(规则与单独的 Spring Boot应用一致)。

results matching ""

    No results matching ""