多配置文件
三种指定配置文件的方式:
- 多profile文件
- 文档块模式
- 命令行中激活指定配置文件
多profile文件
主配置文件可以命名为:application-{profile}.properties/yml,例如:
application-dev.yml 运行环境配置文件
application-prod.properties 生产环境配置文件
默认运行的配置文件为application.properties,如果需要修改默认的配置文件,可以在那个文件中加入:
spring.profiles.active=dev
文档块模式
可以使用分割符“—”来将同一个配置文件分割不同的部分。例如如果application.yml中的代码为:
---
server:
port: 8081
spring:
profiles:
active: dev
---
server:
port: 8082
spring;
profiles: dev
---
server:
port: 8083
spring:
profiles:prod
上段代码就可以将这个配置文件分为3个小块,其中运行的是第一个小块(即active: dev)那一块。
命令行中激活指定配置文件
--spring.profiles.active==dev
配置文件的加载位置
内部配置文件的加载顺序
spring boot的默认配置文件可以放在:
file:./config // 当前路径下的config文件夹
file:./ // 当前路径
classpath:/config/ // 类路径下的config文件夹
classpath:/ // 类路径
以上四个路径分别的优先级从高到低,即项目先从第一个路径开始找配置文件,第一个路径中没有配置文件就从第二个路径中,以此类推。路径位置如下图所示:
(图片来自:https://blog.csdn.net/it_faquir/article/details/80869578)
外部配置文件的加载顺序
自动配置原理
配置文件能配置的文件可参考官方文档:
https://docs.spring.io/spring-boot/docs/2.1.3.RELEASE/reference/htmlsingle/#common-application-properties