1.同一路径下的三个文件
当三种文件同时存在时,其实三个文件中的配置信息都会生效,但是当三个文件中有配置信息冲突时,加载顺序是yml>yaml>properties
所以优先级是:properties>yaml>yml,后加载的会覆盖先加载的文件
2. 若application.yml 和bootStrap.yml 在同一目录下,则bootStrap.yml 的加载顺序要高于application.yml,即bootStrap.yml 会优先被加载。
原理:
-
- bootstrap.yml 用于应用程序上下文的引导阶段
- bootstrap.yml 由父Spring ApplicationContext加载。
- bootstrap.yml 可以理解成系统级别的一些参数配置,这些参数一般是不会变动的。
- application.yml 可以用来定义应用级别的,如果搭配 spring-cloud-config 使用 application.yml 里面定义的文件可以实现动态替换。
3. 不同位置的配置文件的加载顺序:
在不指定要被加载文件时,默认的加载顺序:由里向外加载,所以最外层的最后被加载,会覆盖里层的属性