SpringBoot 多环境配置
一.properties多环境配置
在我们工作中使用几套环境应该是很正常的,比如开发环境,测试环境,生产。每套环境的配置信息可能都是不一样的,所以频繁修改配置文件很容易出错。有人会很容易想到使用不同的配置文件,开发使用dev.properties,测试使用test.properties,生产使用pro.properties。但是这样就可以了么,文件名称没有要求么?又该怎么让它生效呢?
在springBoot多环境配置文件名需要满足application-{profile}.properties的格式,其中{profile}对应你的环境标识,例如:
application-dev.properties 对应开发环境
application-test.properties 对应测试环境
application-pro.properties 对应生产环境
对于哪个配置会生效,需要在application.properties中通过spring.profiles.active属性来设置,其值对应{profile}值,例如:
spring.profiles.active=dev
就会加载开发环境配置的信息。
二.YAML多环境配置
Properties配置多环境,需要添加多个配置文件,YAML只需要一个配件文件yml文件本身具有区分不同环境的能力。
例如application.yml文件配置:
#激活哪一个环境的配置文件
spring:
profiles:
active: prd
---
spring:
profiles: dev
server:
port: 8080
---
spring:
profiles: test
server:
port: 8081
---
spring:
profiles: prd
server:
port: 8082
两种方式都可以,至于哪一种更好仁者见仁智者见智吧。