Java

SpringBoot配置文件的优先级

勤劳的小蜜蜂 · 10月3日 · 2019年

在任何情况都适用的两句话

  • 高优先级覆盖低优先级配置
  • 多个配置文件互补

同一目录下的 application 和 bootstrap

  • bootstrap 优先级高于 application,优先被加载
  • bootstrap 用于应用程序上下文的引导阶段,由父 ApplicationContext 加载
  • bootstrap 是系统级别的配置(一般是不变的参数),application 是应用级别的配置

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

  1. file:./config/ — 优先级最高(项目根路径下的 config )
  2. file:./ — 优先级第二(项目根路径下)
  3. classpath:/config/ — 优先级第三 (项目 resources/config 下)
  4. classpath:/ — 优先级第四(项目 resources 目录下)

config 是需要自己创建的普通文件夹

同一目录同一文件名的 yml 和 properties

properties 的优先级高

原因:yml 文件会被先加载,properties 后加载,如有相同的配置,后加载的配置会覆盖先加载的配置。

0 条回应