一. 多环境配置的好处:
1.不同环境配置可以配置不同的参数~
2.便于部署,提高效率,减少出错~
二. properties多环境配置
1. 配置激活选项
spring.profiles.active=dev
2.添加其他配置文件
application.properties:
#激活哪一个环境的配置文件spring.profiles.active=dev#公共配置spring.jackson.date-format=yyyy-MM-dd HH:mm:ss:
运行的时候还可以制定激活的环境
java -jar myapp.jar --spring.profiles.active=prd
三.YAML多环境配置
1.配置激活选项
spring: profiles: active: dev
2.在配置文件添加三个英文状态下的短横线即可区分
---spring: profiles: dev
application.yml
#激活哪一个环境的配置文件spring: profiles: active: prd#公共配置spring: jackson: date-format: yyyy-MM-dd HH:mm:ss---spring: profiles: devserver: port: 8081---spring: profiles: testserver: port: 8082---spring: profiles: prdserver: port: 8083
这种情况是报错的:Duplicate key: spring
正确的配置:
#激活哪一个环境的配置文件#公共配置spring: profiles: active: prd jackson: date-format: yyyy-MM-dd HH:mm:ss---spring: profiles: devserver: port: 8081---spring: profiles: testserver: port: 8082---spring: profiles: prdserver: port: 8083
四.两种配置方式的比较
1. Properties配置多环境,需要添加多个配置文件,YAML只需要一个配件文件
yml文件本身具有区分不同环境的能力
2.书写格式的差异,yaml相对比较简洁,优雅
3. YAML的缺点:不能通过@PropertySource注解加载。如果需要使用@PropertySource注解的方式加载值,那就要使用properties文件。
讲真,还是喜欢properties的配置形式,yml形式的优雅?没啥感觉~哈哈~