SpringCloud Property覆盖
2023-07-31 09:22 更新
Config Server具有“ 替代 ”功能,使操作员可以为所有应用程序提供配置属性。应用程序使用常规的Spring Boot钩子不会意外更改重写的属性。要声明覆盖,请将名称/值对的映射添加到spring.cloud.config.server.overrides
,如以下示例所示:
spring: cloud: config: server: overrides: foo: bar
前面的示例使作为配置客户端的所有应用程序读取foo=bar
,而与它们自己的配置无关。
配置系统不能强制应用程序以任何特定方式使用配置数据。因此,覆盖无法执行。但是,它们确实为Spring Cloud Config客户端提供了有用的默认行为。
通常,可以使用反斜杠(
\
)来转义$
或{
,以逃避(并在客户端上解析)具有${}
的Spring环境占位符。例如,除非应用程序提供自己的app.foo
,否则\${app.foo:bar}
解析为bar
。
在YAML中,您不需要转义反斜杠本身。但是,在属性文件中,在服务器上配置替代时,确实需要转义反斜杠。
您可以通过在远程存储库中设置spring.cloud.config.overrideNone=true
标志(默认为false),使客户端中所有替代的优先级更像默认值,让应用程序在环境变量或系统属性中提供自己的值。
以上内容是否对您有帮助:
更多建议: