首页 > 代码库 > Spring Boot Learning(配置文件--多环境配置)

Spring Boot Learning(配置文件--多环境配置)

多环境配置的好处:

1.不同环境配置可以配置不同的参数
2.便于部署,提高效率,减少出错

 

Properties多环境配置

1. 配置激活选项
    spring.profiles.active=dev
2.添加其他配置文件

   application-test.properties

   application-dev.properties

   application-prod.properties

   

Yaml多环境配置:

1.配置激活选项
  spring:
    profiles:
      active: dev
2.在配置文件添加三个英文状态下的短横线即可区分
---
  spring:
    profiles: dev

两种配置文件的比较:

1. Properties配置多环境,需要添加多个配置文件,YAML只需要一个配件文件
2.书写格式的差异,yaml相对比较简洁,优雅
3. YAML的缺点:不能通过@PropertySource注解加载。如果需要使用@PropertySource注解的方式加载值,那就要使用properties文件。

 

打包后可以通过命令行参数的方式指定配置文件:java -jar myapp.jar --spring.profiles.active=dev

代码:

技术分享

 

application.properties:

spring.profiles.active=dev

server.port=8080
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=Asia/Chongqing

application-test.properties:

#如果主application.properties有相同属性,那么这个会覆盖主properties里面的参数
server.port=8081
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=Asia/Chongqing

application-dev.properties:

server.port=8080
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=Asia/Chongqing

application-prod.properties:

server.port=8082
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=Asia/Chongqing

 

Yaml方式:

技术分享

 

application.yaml:

server:
  port: 8090
  
spring:
  profiles:
    active: prod
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: Asia/Chongqing
 
---
spring:
  profiles: dev

server:
  port: 8080
  
---
spring:
  profiles: test

server:
  port: 8081
 
---
spring:
  profiles: prod

server:
  port: 8082

 

Spring Boot Learning(配置文件--多环境配置)