码迷,mamicode.com
首页 > 编程语言 > 详细

springBoot(3):配置文件-多环境配置

时间:2017-06-13 14:35:08      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:springboot   springboot的配置文件-多环境配置   

一、多环境配置的好处

1.不同环境配置可以配置不同的参数

2.便于部署,提高效率,减少出错

二、Properties多环境配置

1. 配置激活选项

spring.profiles.active=dev

说明:这里激活的是开发环境。

2.添加其他配置文件

如:

 开发环境:application-dev.properties

 测试环境:application-test.properties

 生产环境:application-prod.properties

 公共环境:application.properties

温馨提示:

  1、一般我们把公共的配置放在公共环境,各个环境所特有的放在对应环境中,配置激活选项一般配置在公共环境中。

  2、如果公共环境的配置与激活选项环境的配置有冲突,则其它环境会覆盖公共环境配置。

三、YAML多环境配置

1、配置激活选项

spring:
    profiles:
        active: dev

2.在配置文件添加三个英文状态下的短横线即可区分不同的配置环境

---

spring:

  profiles: dev

例:

server:
  port: 80
  tomcat:
    uri-enconding: UTF-8

spring:
  profiles:
    active: dev
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: Asia/Chongqing
roncoo:
  secret: ${random.value}
  number: ${random.int}
  number2:
    less:
      than:
        ten: ${random.int(10)}
  number3:
    in:
      range: ${random.int[1024,65536]}
  name: zhangsan
  desc: ${roncoo.name} is a domain name

---
spring:
  profiles:
    active: test
server:
  port: 9090
---
spring:
  profiles:
    active: dev
server:
  port: 8989

技术分享


四、两种配置方式的比较

1、Properties配置多环境,需要添加多个配置文件,YAML只需要一个配件文件

2、书写格式的差异,yaml相对比较简洁,优雅

3、YAML的缺点:不能通过@PropertySource注解加载。如果需要使用@PropertySource注解的方式加载值,那就要使用properties文件。

五、打包后,运行

如:

  application-dev.properties端口:8080

  application-test.properties端口:9090

  application.properties端口:80

打包:

 技术分享

运行:

 java -jar 运行的jar --spring.profiles.active=dev

如:

 java -jar spring-boot-demo-2-1-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev

 技术分享

 技术分享


注意:如果直接【java -jar 】运行的jar,那么则使用application.properties里面的配置,如果application.properties里面的配置有指定环境,则运行的指定环境。

本文出自 “我爱大金子” 博客,请务必保留此出处http://1754966750.blog.51cto.com/7455444/1934810

springBoot(3):配置文件-多环境配置

标签:springboot   springboot的配置文件-多环境配置   

原文地址:http://1754966750.blog.51cto.com/7455444/1934810

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!