当三种文件路径相同时,三个文件中的配置信息都会生效,但是当三个文件中有配置信息冲突时,加载顺序是yml>yaml>properties
这里的逻辑顺序是先加载yml再加载yaml再加properties,后加载的自然会把先加载的数据给覆盖掉.
原因:至于原因可以在spring-boot-starter-parent里找到(下图)
SpringBoot中 properties,yaml,yml的优先级

SpringBoot中 properties,yaml,yml的优先级
SpringBoot中 properties,yaml,yml的优先级
SpringBoot中 properties,yaml,yml的优先级

如图:三个文件都配置了springboot的端口,三个端口都不同,最后生效的是properties中的8083端口

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

在不指定要被加载文件时,默认的加载顺序:

  • 由里向外加载,所以最外层的最后被加载,会覆盖里层的属性

相关文章: