首页 > 编程语言 > 详细

spring cloud --- config 从git 获取文件【 可能是yml或 properties】遇到有相同字段的取值规则

时间:2020-05-16 23:31:30      阅读:74      评论:0      收藏:0      [点我收藏+]

1.前言

 昨天做了 spring cloud config 配置中心 获取存在git仓库的配置文件 ,提到了spring boot 读取配置文件优先级的情况,

 

如果是本地配置文件,那么优先级是 boostrop.properties > application.properties > application.yml 

问题来了,从git 仓库获取的配置文件 ,不同名字的文件【可能是properties或yml】 ,如果其中有相同的字段但是对应的value不同,远程服务器调用这个字段,那么value会是多少?

事实上经过多次测试发现:

技术分享图片

 

 

 

2.证明

(1)git仓库准备两个文件

gittest.properties 

技术分享图片

 

 

 还有

gittest2.yml

技术分享图片

 

 

 (2)在配置中心application 文件配置 ,设置端口为100

技术分享图片

 

 

 配置中心端口100 验证能否从git获取文件

浏览器输入  http://localhost:100/master/gittest-1.properties

 

技术分享图片

 

 

 浏览器输入   http://localhost:100/master/gittest2-1.yml

技术分享图片

 

 

 显示可以获取

(3)配置一个 服务消费者,从配置中心获取数据 ,

具体怎么配置可以看我的另一篇随笔,这里就不多展示怎么配置了,

看一下application文件 ,端口为200

技术分享图片

 

 

看一下 bootstrap文件,

技术分享图片

 

 

 看一下controller层逻辑

技术分享图片

 

配置好了后200消费者后,

先启动提前准备的一个注册中心端口为7001,然后启动配置中心100,再启动消费者200

 

 3.测试

(1)当前文件获取配置顺序

技术分享图片

 

 

 

浏览器输入网址 http://localhost:200/getConfig?name=爱你

 技术分享图片

 

 

 获取的是 gittest2.yml文件内容 ,换多个浏览器多次访问,都没有改变

(2)更换顺序,重启消费者端口200

当前文件获取配置顺序

技术分享图片

 

 

 浏览器输入网址 http://localhost:200/getConfig?name=我也爱你

技术分享图片

 

 

 获取的是 gittest.properties文件内容 ,换多个浏览器多次访问,都没有改变

 

4.结论

经过测试发现,在不同文件【可能是properties或者yml】,如果其中有相同的字段,那么左边的文件的这个字段的值会被右边文件的覆盖,不区分properties和yml优先级

 

spring cloud --- config 从git 获取文件【 可能是yml或 properties】遇到有相同字段的取值规则

原文:https://www.cnblogs.com/c2g5201314/p/12898636.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!