1 SpringBoot多环境配置
可以为不同环境提供不同的配置信息,如开发环境、测试环境、生产环境等。
两种方式:
- 创建多个properties文件
- 定义yml文档块
1.1 创建多个properties文件
步骤:
1. 创建不同环境的properties文件
文件命名必须符合application-xxx.properties格式,例如:
application-dev.properties 开发环境
application-test.properties 测试环境
application-prod.properties 生产环境
2. 在全局配置文件application.properties文件中指定要激活的配置
spring.profiles.active=test 测试环境下的端口号
-------------------------------------------------
【问题】:
【全局配置文件】application.properties和【不同环境下的配置文件】application-xxx.properties
如果都设置了server.port属性,为各自文件中不同的值,那么运行SpringBoot项目之后,运行的是哪个端口号呢?
【答】:
如果激活了【不同环境下的配置文件】,则启动的端口号是【不同环境下的配置文件】下定义的;
如果没有激活【不同环境下的配置文件】,则启动的端口号是【全局配置文件】默认定义的。
# application.properties 全局配置文件
# 指定要激活的配置
spring.profiles.active=test
# application-dev.properties 开发环境
server.port=9991
# application-test.properties 测试环境
server.port=9992
# application-prod.properties 生产环境
server.port=9993
1.2 定义yml文档块
在yml文件中使用三个短横线,定义yml文档块。
可以在每个文档块中定义不同环境的配置。
步骤:
1. 在yml文件中定义多个文档块,表示不同的环境配置
2. 在第一个文档块中,指定要激活的配置
# application.yml
# 默认配置: 指定激活哪个环境
server:
port: 8881
spring:
profiles:
active: dev
---
name: tom
spring:
profiles: dev
server:
port: 9991
---
name: alice
spring:
profiles: test
server:
port: 9992
---
name: mike
spring:
profiles: prod
server:
port: 9993