此版本仍在开发中,目前尚不稳定。如需最新稳定版本,请使用 Spring Cloud Config 5.0.1spring-doc.cadn.net.cn

环境存储库

配置服务器的配置数据应存储在何处?
决定此行为的策略是 EnvironmentRepository,用于提供 Environment 对象。
Environment 是来自 Spring Environment(以 propertySources 为主功能)领域的一个浅层副本。
Environment 资源由三个变量参数化:spring-doc.cadn.net.cn

存储库实现通常表现得像一个 Spring Boot 应用程序,从 spring.config.name 加载配置文件(其值等于 {application} 参数),并从 spring.profiles.active 加载配置文件(其值等于 {profiles} 参数)。
配置文件的优先级规则也与常规 Spring Boot 应用程序相同:激活的配置文件优先于默认配置文件;若存在多个配置文件,则最后一个生效(类似于向 Map 中添加条目)。spring-doc.cadn.net.cn

以下示例客户端应用程序具有此引导配置:spring-doc.cadn.net.cn

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

(与 Spring Boot 应用程序一样,这些属性也可以通过环境变量或命令行参数进行设置)。spring-doc.cadn.net.cn

如果存储库是基于文件的,服务器会从 Environment(在所有客户端之间共享)和 foo.yml(其中 foo.yml 具有更高优先级)创建一个 application.yml。如果 YAML 文件内部包含指向 Spring 配置文件的文档,则这些配置文件将按列出的配置文件顺序以更高优先级应用。如果存在特定于配置文件的 YAML(或属性)文件,它们也将以高于默认值的优先级应用。更高的优先级意味着在 Environment 中更早列出 PropertySource。这些规则同样适用于独立的 Spring Boot 应用程序。)spring-doc.cadn.net.cn

您可以将 spring.cloud.config.server.accept-empty 设置为 false,以便在应用未找到时,服务器返回 HTTP 404 状态码。默认情况下,此标志设置为 truespring-doc.cadn.net.cn

您不能在远程 EnvironmentRepository 中放置 spring.main.* 属性。这些属性用于应用程序初始化过程。