zoukankan      html  css  js  c++  java
  • spring cloud --- config 从git 获取文件【 可能是yml或 properties】遇到有相同字段的取值规则

    spring boot      1.5.9.RELEASE

    spring cloud    Dalston.SR1

    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优先级

  • 相关阅读:
    php设计模式-工厂模式(一)
    php Pthread 线程 互斥锁
    php Pthread 多线程 Worker
    PHP多进程实例
    C# this 关键字
    .NET FileStream文件流,StreamReader文本流,MemoryStream内存流几种流的实例
    深入理解Static关键字修饰符
    SQL Server 视图
    .NET初识委托
    RSA加密
  • 原文地址:https://www.cnblogs.com/c2g5201314/p/12898636.html
Copyright © 2011-2022 走看看