配置与扩展
一、Profile 多环境配置
1. 什么是 Profile
Profile 是 Spring 对不同环境提供差异化的配置,通过激活不同 Profile 的环境版本实现快速切换环境。
2. 为什么需要
- 数据库连接不同:开发时连接本地数据库,生产环境连接远程集群。
- 日志级别不同:开发打印 DEBUG 日志,生产只记录 ERROR。
- 第三方服务地址不同:如支付网关、短信平台等在不同环境使用不同接口。
3. 怎么用
- 配置文件指定:在 application.yml 中设置 spring.profiles.active=dev。
- 命令行启动:java -jar app.jar --spring.profiles.active=prod。
- 环境变量:SPRING_PROFILES_ACTIVE=prod。
- IDE 启动参数:在 Run Configuration 中添加 Active Profiles。
配置文件加载优先级(从高到低)
file:./config/(项目根目录下的 config 文件夹) file:./(项目根目录) classpath:/config/(resources/config/) classpath:/(resources/)
SpringBoot 会从四个位置全部加载主配置文件,并进行互补配置。
配置文件命名规范
application.yml # 默认配置
application-dev.yml # dev 环境
application-test.yml # test 环境
application-prod.yml # prod 环境
也可以在单个 yaml 文件中使用 --- 分隔多个 profile:
server:
port: 8081
spring:
profiles:
active: dev
---
server:
port: 8082
spring:
profiles:
active: dev
---
server:
port:


