应将 Config Server 的配置数据存储在哪里?
控制这种行为的策略是 ,服务对象。
这是 Spring 域的浅层副本(包括作为主要功能)。
资源由三个变量参数化:EnvironmentRepository
Environment
Environment
Environment
propertySources
Environment
-
{application}
,它映射到客户端。spring.application.name
-
{profile}
,它映射到客户端(逗号分隔列表)。spring.profiles.active
-
{label}
,这是一个服务器端功能,用于标记一组“版本化”的配置文件。
存储库实现通常表现得类似于 Spring Boot 应用程序,从 equal to the parameter 和 equal to the parameter 加载配置文件。
配置文件的优先级规则也与常规 Spring Boot 应用程序中的相同:活动配置文件优先于默认配置文件,如果有多个配置文件,则最后一个配置文件优先(类似于向 .spring.config.name
{application}
spring.profiles.active
{profiles}
Map
以下示例客户端应用程序具有此引导程序配置:
spring:
application:
name: foo
profiles:
active: dev,mysql
(与Spring Boot应用程序一样,这些属性也可以由环境变量或命令行参数设置)。
如果存储库是基于文件的,则服务器将创建一个 from(在所有客户端之间共享)和 (具有优先权)。
如果 YAML 文件中包含指向 Spring 配置文件的文档,则这些文档将以更高的优先级应用(按列出的配置文件的顺序)。
如果存在特定于配置文件的 YAML(或属性)文件,则应用这些文件的优先级也高于默认值。
优先级越高,则表示 .
(这些相同的规则适用于独立的 Spring Boot 应用程序。Environment
application.yml
foo.yml
foo.yml
PropertySource
Environment
您可以设置为,以便在未找到应用程序时服务器将返回 HTTP 404 状态。默认情况下,此标志设置为 。spring.cloud.config.server.accept-empty
false
true
不能将属性放置在远程 .这些属性用作应用程序初始化的一部分。spring.main.* EnvironmentRepository |
不能将属性放置在远程 .这些属性用作应用程序初始化的一部分。spring.main.* EnvironmentRepository |