You can change the data key using spring.cloud.consul.config.data-key.可以利用该属性key修改设置文件和其分组间利用的分隔符。
例如Consul中默认','作为分隔符,application,dev.yml 设置了属性为'-' ,就可以利用该方式,application-dev.yml。 新增bootstrap.yml设置文件
applicaiton.yml是用户级的资源设置项。
bootstrap.yml是系统级的,优先级更加高。
Spring Cloud会创建一个“Bootstrap Context”,作为Spring应用的Application Context的父上下文。初始化的时候,Bootstrap Context负责从外部源加载设置属性并解析设置。这两个上下文共享一个从外部获取的Environment。
Bootstrap属性有高优先级,默认情况下,它们不会被本地设置覆盖。 Bootstrap context和Application Context有着不同的约定,所以新增了一个bootstrap.yml文件,保证Bootstrap Context和Application Context设置的分离。
applicaiton.yml文件改为bootstrap.yml,这是很关键的大概两者共存。因为bootstrap.yml是比applicaiton.yml先加载的。bootstrap.yml优先级高于applicaiton.yml。yml和properties只是文件名后缀,以及设置是,相同前缀的key是否省略不同(写法上),优先级方面无区别。
6.3.3 设置文件内容
bootstrap.yml
spring:
application:
name: cloud-payment-service
cloud:
consul:
host: localhost
port: 8500
discovery:
service-name: ${spring.application.name}
config:
profile-separator: '-' # default value is ",",we update '-'