• jar 包外部的 application-{profile}.properties 或 .yml
  • jar 包内部的 application-{profile}.properties 或 .yml
  • jar 包外部的 application.properties 或 .yml
  • jar 包内部的 application.properties 或 .yml
  • 默认位置
  • ./config
  • ./
  • CLASSPATH 中的 /config
  • CLASSPATH 中的 /
  • 修改名字或路径
  • spring.config.name
  • spring.config.location
  • spring.config.additional-location
  • Relaxed Binding

命名风格

使用范围

示例

短划线分割

Properties 文件YAML 文件系统属性

geektime.spring-boot.first-demo

驼峰式

同上

geektime.springBoot.firstDemo

下划线分割

同上

geektime.spring_boot.first_demo

全大写,下划线分割

环境变量

GEEKTIME_SPRINGBOOT_FIRSTDEMO

说明:

  1. CLASSPATH指的是resources目录下
  2. 优先级由高到底,高优先级的配置会覆盖低优先级的配置; 
  3. SpringBoot会从这四个位置全部加载主配置文件,互补配置;
  4. 通过spring.config.location来改变默认的配置文件位置。