在 YAML 中管理多环境配置(如 dev / test / prod),常见做法有几种,下面按使用频率和可维护性从实用到进阶讲清楚。
spring:
profiles:
active: dev
---
spring:
config:
activate:
on-profile: dev
server:
port: 8080
db:
url: jdbc:mysql://localhost/dev
---
spring:
config:
activate:
on-profile: prod
server:
port: 80
db:
url: jdbc:mysql://prod-db/prod
✅ 优点
--spring.profiles.active=prodapplication.yml
application-dev.yml
application-test.yml
application-prod.yml
application.yml
spring:
profiles:
active: ${ENV:dev}
application-prod.yml
server:
port: 80
db:
url: prod-url
✅ 优点
default: &default
timeout: 30
dev:
<<: *default
db: localhost
prod:
<<: *default
db: prod-server
程序读取时:
env = "prod"
config = yaml["prod"]
✅ 适合:
db:
url: ${DB_URL}
运行:
DB_URL=jdbc:mysql://prod/db
✅ 优点
| 方式 | 适合场景 |
|---|---|
| 单文件 + profile | Spring Boot |
| 多文件 | 中大型项目 |
| 自定义 env | 脚本 / 非框架 |
| 环境变量 | 云原生 / 容器 |
如果你用的是 Spring Boot / Python / K8s / Docker,我可以给你一个具体可抄的配置示例。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。