SpringBoot默认支持properties(.properties)和YAML(.yml .yaml )两种格式的配置文件。
1.加载顺序
1、若application.yml 和bootStrap.yml 在同一目录下 :bootstrap.yml先加载 application.yml后加载。
2、bootstrap.yml 用于应用程序上下文的引导阶段。bootstrap.yml 由父Spring ApplicationContext加载。
3、父ApplicationContext 被加载到使用 application.yml 的之前。
如果resource里面同时有application.properties 和 application.yml,且存在相同的配置,则application.properties会覆盖application.yml里面的属性,因为application.properties 会后加载,也就是说哪个文件被最后加载,哪个才具有最高级。(application会覆盖bootstrap中的非引导配置)
2.配置区别
1、bootstrap.yml 和application.yml 都可以用来配置参数。
2、bootstrap.yml 用来程序引导时执行,应用于更加早期配置信息读取. 可以理解成系统级别的一些参数配置,这些参数一般是不会变动的。
3、application.yml 可以用来定义应用级别的, 应用程序特有配置信息,可以用来配置后续各个模块中需使用的公共参数等.如果加载的application.yml的内容标签与bootstrap的标签一致,application会覆盖bootstrap, 而application.yml 里面的内容可以动态替换。