目录
多环境切换
properties文件配置多环境切换
yml文件配置多文档块
配置文件的加载位置
自动配置原理分析
多环境切换
我们在主配置文件编写的时候,文件名可以是 application-{profile}.properties/yml , 用来指定多个环境版本例如
- application-test.properties 代表测试环境配置
- application-dev.properties 代表开发环境配置
SpringBoot框架不会直接启动这些配置文件,它默认使用application.properties主配置文件
properties文件配置多环境切换
application.properties:在里面切换环境配置 参数就是“-”后面的单词
spring.profiles.active=test
从运行结果可以看出环境已经切换到test环境,端口号变为8082了
yml文件配置多文档块
yml文件
server:
port: 8080
# 选择要激活的环境
spring:
profiles:
active: dev
---
server:
port: 8081
# 配置环境名称
spring:
profiles: dev
---
server:
port: 8082
spring:
profiles: test
---:表示文档块划分
yml文件的优势显而易见,一个文件就可以替代原来三个文件
配置文件的加载位置
优先级如下
| 优先级1 | 项目路径下的config文件夹配置文件 |
| 优先级2 | 项目路径下的config文件夹配置文件 |
| 优先级3 | 资源路径下的config文件夹配置文件 |
| 优先级4 | 资源路径下的config文件夹配置文件(默认优先级) |
自动配置原理分析
SpringBoot启动需要加载spring.factories,该文件中的自动配置类(xxxAutoConfigurartion)需要默认值,所以依赖xxxProperties(该类用于封装配置文件的相关属性)
我们需要修改相关配置时,就需要编写主配置文件,xxxProperties就会读取主配置文件中的信息进行配置



