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

转自: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: dev
server:
  port: 8081
---
spring:
  profiles: test
server:
  port: 8082
---
spring:
  profiles: prd
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文件。

讲真,还是喜欢properties的配置形式,yml形式的优雅?没啥感觉~哈哈~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值