一.多环境配置的好处:
1.不同环境配置可以配置不同的参数,不用来回改参数
2.便于部署,提高效率,减少出错
二.properties多环境配置
application.properties配置激活环境
spring.profiles.active=dev
dev、pro、test配置端口分别为(注:默认端口为8080)
server.port=8081 #dev
server.port=8082 #pro
server.port=8083 #test
启动结果
生成jar包命令启动配置
命令行:
java -jar XXX.jar --spring.profiles.active=dev
虚拟机参数配置
java -Dspring.profiles.active=dev -jar XXX.jar
三.YAML多环境配置
1.配置激活选项
spring:
profiles:
active: dev
2.在配置文件添加三个英文状态下的短横线即可区分
---
spring:
profiles: dev
application.yml
#激活哪一个环境的配置文件
spring:
profiles:
active: dev
#公共配置
spring:
jackson:
date-format: yyyy-MM-dd HH:mm:ss
---
spring:
profiles: dev
server:
port: 8081
---
spring:
profiles: pro
server:
port: 8082
---
spring:
profiles: test
server:
port: 8083
这种情况是报错的:Duplicate key: spring
正确的配置:
#激活哪一个环境的配置文件
#公共配置
spring:
profiles:
active: prd
jackson:
date-format: yyyy-MM-dd HH:mm:ss
---
spring:
profiles: dev
server:
port: 8081
---
spring:
profiles: test
server:
port: 8082
---
spring:
profiles: prd
server:
port: 8083
四.两种配置方式的比较
1. Properties配置多环境,需要添加多个配置文件,YAML只需要一个配件文件
yml文件本身具有区分不同环境的能力
2.书写格式的差异,yaml相对比较简洁,优雅
3. YAML的缺点:不能通过@PropertySource注解加载。如果需要使用@PropertySource注解的方式加载值,那就要使用properties文件。