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

一. 多环境配置的好处:

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



实战:

分别创建 

application.properties(默认) application-dev.properties(开发环境) application-pro.properties(生产环境)

   

application.properties

#默认使用开发环境配置文件
spring.profiles.active=dev

application-dev.properties(开发环境)

#开发环境端口
server.port=8080
#开发环境数据库
...

application-pro.properties(生产环境)

#生产环境端口
server.port=80
#生产环境数据库
...

在服务器上创建脚本 start.sh

java -jar myapp.jar --spring.profiles.active=pro
这样做的好处就是,本地使用 application-dev.properties (开发环境)中的配置,线上使用application-pro.properties(生产环境)中的配置。将开发与线上配置区分开,在更新时也不容易出错。避免每次更新都要改一堆配置,想想都可怕~


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jc_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值