场景
公司使用consul做配置中心, 使用了几个配置合成了最终的配置, 这点和nacos不同, 下面使用我的本地环境举个例子
本地环境配置
spring:
application:
name: demo-application
cloud:
# Spring Cloud Consul 通用配置项,对应 ConsulProperties 类
consul:
host: 192.168.56.18 # Consul 主机
port: 8500 # Consul 端口
# Spring Cloud Consul Config 配置项,对应 ConsulConfigProperties 类
config:
format: YAML # Consul 配置的格式
prefix: config # Consul 配置的目录
data-key: data # Consul 配置的文件
profile-separator: ',' # 多环境目录分隔符,默认为 ,
default-context: public
name: demo-name
profiles:
active: dev,multiple
解释
启动项目可以看到生效的配置,即: confg/demo-name,multiple/data,confg/demo-name,dev/data, demo-name, config/public,multiple/data, … 这些会互相覆盖
2023-09-05 10:54:01.188 INFO 46436 — [ main] b.c.PropertySourceBootstrapConfiguration : Located property source: [BootstrapPropertySource {name=‘bootstrapProperties-config/demo-name,multiple/’}, BootstrapPropertySource {name=‘bootstrapProperties-config/demo-name,dev/’}, BootstrapPropertySource {name=‘bootstrapProperties-config/demo-name/’}, BootstrapPropertySource {name=‘bootstrapProperties-config/public,multiple/’}, BootstrapPropertySource {name=‘bootstrapProperties-config/public,dev/’}, BootstrapPropertySource {name=‘bootstrapProperties-config/public/’}]