spring cloud config本地配置覆盖远程配置属性

引用spring cloud config时,Spring cloud默认以远程配置为最高优先级,如果希望本地的配置文件(如application.ymlbootstrap.yml)的某些属性能覆盖远程的同名属性值,则需要在远程配置文件增加以下属性配置(以下所述属性均在PropertySourceBootstrapProperties):

1
2
3
4
spring:
cloud:
config:
overrideNone: true

该配置的含义是远程配置不覆盖本地配置(双重否定?太有才了)

true表示远程配置不覆盖本地同名属性

false表示远程配置覆盖本地同名属性 默认为false,(远程配置同名属性覆盖本地配置同名属性)

注意:该属性参数值需要配置在远程配置文件中,配置在本地配置文件不生效(如application.ymlbootstrap.yml)

该设置为true,则外部属性(指远程配置)具有最低的优先级,不覆盖任何本地已经存在的属性配置值。

1
2
3
4
spring:
cloud:
config:
allowOverride: true

该配置的含义是远程配置是否允许被本地属性覆盖 默认true, 该属性必须配置在远程配置(在本地配置该属性是不能生效的),该参数默认为true不需要特别设置

1
2
3
4
spring:
cloud:
config:
overrideSystemProperties: true

该配置的含义是远程是否覆盖系统配置 默认true, 该属性必须配置在远程配置中(在本地配置该属性是不能生效的)。例如,如果希望在启动时可能通过环境变量或程序参数修改某个配置,需要将该属性在远程配置中设置为false。

例:系统配置指通过命令行参数或环境变量方式 指定配置属性值.

1
java –jar xxx.jar --spring.cloud.stream.bindings. BusInput.group= collector-local

spring cloud config本地配置覆盖远程配置属性
http://ysocket.pages.dev/2023/09/12/spring-config-override/
作者
YSocket
发布于
2023912
许可协议