【Nacos】配置参考
让nacos配置可以被覆盖
spring:
cloud:
config:
allow-override: true # 开启远程配置能力
override-none: true # 本地配置优先
override-system-properties: false # 系统配置最高优先级
1. spring.cloud.config.allow-override: true
核心作用:开启配置覆盖功能
默认值:true
含义:允许外部配置(Nacos配置中心远程配置) 去覆盖应用内部的配置
如果设为 false:远程配置完全不能覆盖任何本地配置,配置中心基本失效
简单记:总开关,必须开 true,远程配置才能生效。
2. spring.cloud.config.override-none: true
核心作用:本地配置优先,远程配置只补全缺失项
默认值:false
含义:
本地已经配置的属性 → 保留本地,远程不覆盖
本地没有配置的属性 → 用远程配置补全
这是生产环境最安全的配置,避免远程配置意外覆盖本地关键配置(如端口、数据库地址)
简单记:本地说了算,远程只填空。
3. spring.cloud.config.override-system-properties: false
核心作用:禁止远程配置覆盖 系统属性 / JVM 参数 / 环境变量
默认值:true
含义:
true:远程配置可以覆盖 JVM 参数、操作系统环境变量
false:系统级配置优先级最高,远程配置绝对不能覆盖它们
系统属性包括:-D 启动参数、环境变量、系统配置等
简单记:系统配置最高级,远程动不了。
这是微服务生产标准配置,适合:
本地配置关键参数(端口、注册中心地址)
远程配置统一管理业务参数、公共配置
防止远程配置误改本地关键配置
保证系统启动参数绝对安全不被覆盖
最终优先级(从高到低):系统配置 > 本地配置 > 远程配置
高 系统配置:-D启动命令(会覆盖JVM 属性)、系统环境变量、JVM默认属性
中 本地配置:文件(application.yml/bootstrap.yml),工程中的配置文件
低 远程配置:Spring Cloud Config 远程配置(最低,只能补全缺失配置),nacos中的配置
注意:Spring Boot 官方规定的配置加载优先级:-D启动参数 > 操作系统环境变量 > JVM 默认属性
系统配置优先级顺序:
高:-D 启动参数(最高,手动指定)
中:操作系统环境变量
低:JVM 默认属性(最低)

浙公网安备 33010602011771号