SpringCloud + Nacos配置文件优先级详解以及本地配置覆盖远程方法
warning:
这篇文章距离上次修改已过416天,其中的内容可能已经有所变动。
Spring Cloud Nacos Config 支持多种配置优先级。配置从高到低依次是:本地外部配置 > 本地配置文件 > 远程配置。
- 本地外部配置:通过命令行指定参数,如
java -jar yourapp.jar --spring.cloud.nacos.config.override-none=true,这会使得本地配置不会覆盖远程配置。 - 本地配置文件:通常是
application.properties或application.yml文件,在这个文件中定义的配置会被加载。 - 远程配置:存储在 Nacos 中的配置,会被加载并应用。
如果需要在本地进行配置覆盖,可以在bootstrap.properties或bootstrap.yml中添加如下配置:
spring.cloud.nacos.config.override-none=true或者在启动应用时通过命令行参数指定:
java -jar yourapp.jar --spring.cloud.nacos.config.override-none=true这样,本地配置文件中的配置将会覆盖远程配置中的同名配置项。
以下是一个简单的示例,展示如何在application.properties中设置本地配置,并通过bootstrap.properties来覆盖远程配置的优先级:
application.properties:
# 本地配置示例
local.config=localValuebootstrap.properties:
spring.cloud.nacos.config.override-none=true
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.application.name=example-appNacos 中的配置示例:
# 远程配置示例
remote.config=remoteValue启动应用后,local.config 的值将是 localValue,而 remote.config 的值将会被本地配置覆盖为 remoteValue。
评论已关闭