此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring Cloud Config 4.3.0! |
属性覆盖
配置服务器具有“覆盖”功能,允许操作员向所有应用程序提供配置属性。
使用普通 Spring Boot 钩子的应用程序不会意外更改覆盖的属性。
要声明覆盖,请将名称-值对的映射添加到spring.cloud.config.server.overrides
,如以下示例所示:
spring:
cloud:
config:
server:
overrides:
foo: bar
上述示例导致作为配置客户端的所有应用程序读取foo=bar
,独立于自己的配置。
配置系统不能强制应用程序以任何特定方式使用配置数据。 因此,覆盖是不可执行的。 但是,它们确实为 Spring Cloud Config 客户端提供了有用的默认行为。 |
通常,可以通过使用反斜杠 () 转义 或 .
例如${} \ $ { \${app.foo:bar} 解析为bar ,除非应用程序提供自己的app.foo . |
在 YAML 中,您不需要转义反斜杠本身。 但是,在属性文件中,当您在服务器上配置覆盖时,您确实需要转义反斜杠。 |
您可以将客户端中所有覆盖的优先级更改为更像默认值,让应用程序在环境变量或系统属性中提供自己的值,方法是将spring.cloud.config.overrideNone=true
标志(默认值为 false)。