开发过程中面对不同的环境,例如数据库、redis服务器等的不同,可能会面临一直需要修改配置的麻烦中,在以前的项目中,曾通过Tomcat的配置来实现,有的项目甚至需要手动修改相关配置,这种方式费时费力,出错的概率还极大,SpringBoot为我们提供了更加简单方便的配置方案来解决多环境的配置问题,下面我们看看怎么实现。

一、新建一个项目(本文以上篇的代码为基础)

红框标示的即为本篇的重点,我们根据开发、测试、真实常见的三个环境分成了三个配置文件,本篇以不同环境的数据库配置不同为例进行介绍,配置信息如下:

开发环境:

spring:  
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false
    username: root

password: 123456

测试环境:

spring:   
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://192.168.60.20:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false
    username: root

password: 123456

真实环境:

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/prod?useUnicode=true&characterEncoding=utf-8&useSSL=false
    username: root

password: 123456

二、选择使用对应的环境配置,只需要在application.yml中加上一个spring.profiles.active=test ,分别指定配置文件的后缀就可以使用对应环境的配置了,具体配置如下

server:

port: 8080

spring:  
  #指定配置环境
  profiles:

active: test

可能有人会疑问,如何才能快速指定当前使用的是那个环境的配置是否成功了,方法肯定是有的,细心的同学在项目启动的时候肯定就发现,可以在日志中看到对应的配置信息,如果还不放心的同学就赶紧通过不同的数据库数据来验证吧。

三、启动项目指定环境

这对于开发过程我们已经能非常轻松的切换环境了,但是部署到各个环境是否也存在比较简单的方式呢,答案是肯定的,下面我们来看看怎么快捷部署不同的环境。

我们平时启动打包的jar包时,可能使用的是 java -jar myjavaapp.jar来启动项目,如果我们需要制定特定的环境启动只需要加上一个启动属性即可轻松完成一个jar在不同环境通用的效果了,具体如下:

java -jar myapp.jar --spring.profiles.active=dev

Git代码地址:https://gitee.com/Somta/SpringBoot/tree/master/SpringBoot-environment

原文地址:http://somta.com.cn/#/blog/view/98bb7849b0b64fae93e83b8a707094de
---------------------
作者:明天的地平线
来源:CSDN
原文:https://blog.csdn.net/husong_/article/details/79784265
版权声明:本文为博主原创文章,转载请附上博文链接!

SpringBoot2.0之六 多环境配置的更多相关文章

  1. Android SDK 4.0.3 开发环境配置及运行

    最近又装了一次最新版本的ADK环境 目前最新版是Android SDK 4.0.3 本文的插图和文本虽然是Android2.2的 步骤都是一样的,如果安装的过程中遇到什么问题,可以留言,我会尽快回复! ...

  2. Android + Eclipse + PhoneGap 2.9.0 安卓最新环境配置,部分资料整合网上资料,已成功安装.

    前言:最近心血来潮做了一个以品牌为中心的网站,打算推出本地服务o2o应用.快速开发手机应用,最后选择了phonegap,这里我只是讲述我安装的过程,仅供大家参考. 我开发的一个模型http://www ...

  3. AMP+EPP3.0的开发环境配置

    经过摸索,总结出下列Apache.MySQL.PHP.EPP.ZendDebugger的开发环境配置方法: 版本: Apache: Apache-httpd-2.2.25-win32-x86-no_s ...

  4. OpenCV学习笔记(一)——OpenCV3.1.0+VS2015开发环境配置

    摘要: 由于最近AR(增强现实)这个概念非常火爆,各种基于AR的应用及游戏逐渐面向大众,而在AR中最重要的两个技术就是跟踪识别和增强渲染,其中跟踪识别是通过OpenCV这个开源的计算机视觉库来实现的, ...

  5. OpenCV4.1.0实践(1) - 环境配置及使用

    Pycharm下虚拟环境配置 1.下载whl文件 下载地址:python extension packages 搜索opencv,根据自己的版本下载,我用的python版本是3.5.2,64位: 2. ...

  6. springboot2.0 redis EnableCaching的配置和使用

    一.前言 关于EnableCaching最简单使用,个人感觉只需提供一个CacheManager的一个实例就好了.springboot为我们提供了cache相关的自动配置.引入cache模块,如下. ...

  7. 拜小白教你OpenCV3.2.0+VS2017开发环境配置

    第一部分:OpenCV3.2.0的下载 OpenCV官方下载地址: http://opencv.org/releases.html# 本人选择opencv3.2.0基于Windows平台.读者根据自己 ...

  8. OpenCV3.1.0+VS2015开发环境配置

    摘要: 由于最近AR(增强现实)这个概念非常火爆,各种基于AR的应用及游戏逐渐面向大众,而在AR中最重要的两个技术就是跟踪识别和增强渲染,其中跟踪识别是通过OpenCV这个开源的计算机视觉库来实现的, ...

  9. vue2.0用法以及环境配置

    一.配置环境搭建 1.安装node.js (可以去官网看) 2.安装git (推荐看廖雪峰文章,点击查看) 3.安装vue: cmd:npm install vue //最新稳定版本 npm inst ...

随机推荐

  1. ECS上搭建Docker(CentOS7)

    本文讲述Docker在CentOS系统上的部署过程.Ubuntu系统下安装docker,您可以点击此处查看.更多详细的实践您可以参考docker实践文档 适用对象 适用于熟悉Linux操作系统,刚开始 ...

  2. [ Java面试题 ]数据库篇

    基本表结构: student(sno,sname,sage,ssex)学生表 course(cno,cname,tno) 课程表 sc(sno,cno,score) 成绩表 teacher(tno,t ...

  3. 详解vue生命周期

    vue生命周期 @(vue)[生命周期] 前言 在使用vue一个多礼拜后,感觉现在还停留在初级阶段,虽然知道怎么和后端做数据交互,但是对于mounted这个挂载还不是很清楚的.放大之,对vue的生命周 ...

  4. JAVAEE——Mybatis第二天:输入和输出映射、动态sql、关联查询、Mybatis整合spring、Mybatis逆向工程

    1. 学习计划 1.输入映射和输出映射 a) 输入参数映射 b) 返回值映射 2.动态sql a) If标签 b) Where标签 c) Sql片段 d) Foreach标签 3.关联查询 a) 一对 ...

  5. python之分析decode、encode、unicode编码转换

    decode()方法使用注册编码的编解码器的字符串进行解码.它默认为默认的字符串编码.decode函数可以将一个普通字符串转换为unicode对象.decode是将普通字符串按照参数中的编码格式进行解 ...

  6. MFC学习笔记_关于CSpinButtonCtrl

    CSpinButtonCtrl使用起来比较特殊,使用起来,需要注意一些地方.实际的教程也比较少.为了让后人少走弯路,这里写这篇文章以说明.1.添加EDIT控件2.添加Spin控件如果不是这样的顺序的话 ...

  7. BZOJ_3872_[Poi2014]Ant colony_dfs

    BZOJ_3872_[Poi2014]Ant colony_dfs Description There is an entrance to the ant hill in every chamber ...

  8. Hibernate-ORM:02.Hibernate增删改入门案例

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 本笔者使用的是Idea+mysql+maven做Hibernate的博客,本篇及其以后都是如此! 首先写好思路 ...

  9. monkey----log分析要求

    对monkey测试过程中生成的XXX.log文件中进行关键字的查找.主要查找讯息如下: (1) anr项:即无响应,一般形式为ANR in org.codeaurora.bluetooth: (2)c ...

  10. eShopOnContainers 知多少[5]:EventBus With RabbitMQ

    1. 引言 事件总线这个概念对你来说可能很陌生,但提到观察者(发布-订阅)模式,你也许就很熟悉.事件总线是对发布-订阅模式的一种实现.它是一种集中式事件处理机制,允许不同的组件之间进行彼此通信而又不需 ...