Spring Boot配置文件-多环境配置

来源:互联网 发布:人体尺度数据测绘图 编辑:程序博客网 时间:2024/06/08 11:37

转自:http://www.cnblogs.com/winner-0715/p/6754994.html?utm_source=itdadao&utm_medium=referral

前言: 

在我们的实际开发中,一般都有三套环境,开发环境,测试环境,生产环境,三套环境的数据库连接配置也有所不同,比如,端口,IP地址等等。如果在打包时候都频繁的修改配置文件信息,那必将是非常容易出错的地方。在springBoot多环境配置文件名需要满足application-{profile}.properties的格式,其中{profile}对应你的环境标识,例如:(1)application-dev.properties 对应开发环境  (2)application-test.properties 对应测试环境(3)application-pro.properties 对应生产环境。对于哪个配置会生效,需要在application.properties中通过spring.profiles.active属性来设置,其值对应{profile}值,例如:pring.profiles.active=dev 就会加载开发环境配置的信息。

一. 多环境配置的好处:

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形式的优雅?没啥感觉~哈哈~

原创粉丝点击