springboot中properties,yaml,yml的优先级

1.同一路径下的三个文件

  当三种文件同时存在时,其实三个文件中的配置信息都会生效,但是当三个文件中有配置信息冲突时,加载顺序是yml>yaml>properties

  所以优先级是:properties>yaml>yml,后加载的会覆盖先加载的文件

  

2. 若application.yml 和bootStrap.yml 在同一目录下,则bootStrap.yml 的加载顺序要高于application.yml,即bootStrap.yml  会优先被加载。

   原理:

    1. bootstrap.yml 用于应用程序上下文的引导阶段
    2. bootstrap.yml 由父Spring ApplicationContext加载。             
    3. bootstrap.yml 可以理解成系统级别的一些参数配置,这些参数一般是不会变动的。             
    4. application.yml 可以用来定义应用级别的,如果搭配 spring-cloud-config 使用 application.yml 里面定义的文件可以实现动态替换。

3. 不同位置的配置文件的加载顺序:

   在不指定要被加载文件时,默认的加载顺序:由里向外加载,所以最外层的最后被加载,会覆盖里层的属性

猜你喜欢

转载自www.cnblogs.com/banml/p/12002078.html