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),使客户端中所有替代的优先级更像默认值,让应用程序在环境变量或系统属性中提供自己的值。


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号