SpringBoot2.0之六 多环境配置

Stella981
• 阅读 620

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

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

 SpringBoot2.0之六 多环境配置

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

开发环境:

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

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

 SpringBoot2.0之六 多环境配置

三、启动项目指定环境

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

        我们平时启动打包的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
版权声明:本文为博主原创文章,转载请附上博文链接!

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
威尔we 威尔we
3年前
Git + Docker 多环境自动化部署
日常项目开发过程中,一般都有多套环境,比如开发、测试和生产。各个环境部署的代码版本不一致,手动一个个来部署效率低且容易出错。如果项目采用了敏捷开发方式,可能每天需要部署几十次。手动方式更加不可行,因此必须要把多环境的部署工作自动化。本文将介绍在笔者参与项目中实际推行的一种方案,供大家参考。整体方案整体方案(https://imghe
Easter79 Easter79
3年前
springboot中切换配置(多个配置文件
问题描述:在springboot项目中可能有测试环境、开发环境、生产环境,在这些环境中我们可能要使用不同的配置,如果每次切换环境的时候都要重新写一份配置文件就很麻烦了,所以下面提供一种方法可以快速且简便的切换不同环境下的配置。解决方案:1、首先在resources目录下创建完整的配置文件(包括测试、开发、生产环境下的相关配置文件
Stella981 Stella981
3年前
BeetlSQL 3.0.10 发布,多数据源分布式sega事务支持
本次发布主要增加了分布式Sega事务支持,适合多数据源按照社区建议,修改了了springboot的yml配置方式修改了@Jackson和@UpdateTime,本来是用来作为例子,但社区开发者提供了较好的完整实现增加Sega支持<dependency<groupIdcom.ibeetl</gr
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
3年前
SpringBoot2.0之六 多环境配置
  开发过程中面对不同的环境,例如数据库、redis服务器等的不同,可能会面临一直需要修改配置的麻烦中,在以前的项目中,曾通过Tomcat的配置来实现,有的项目甚至需要手动修改相关配置,这种方式费时费力,出错的概率还极大,SpringBoot为我们提供了更加简单方便的配置方案来解决多环境的配置问题,下面我们看看怎么实现。一、新建一个项目(本文以上篇的代码
Stella981 Stella981
3年前
Maven入门(六) profile标签
项目开发经常碰到配置文件中测试的jdbc.url和线上的是不一样的。为此每次打包都要修改配置文件,很烦,而且也容易出错。 !(http://static.oschina.net/uploads/space/2016/0830/154134_7hjx_1398304.png)在src/main/profiles下面设置不同环境的配置文件例如db
Stella981 Stella981
3年前
Python配置管理的几种方式
一、为什么要使用配置如果我们在较复杂的项目中不使用配置文件,我们可能会面临下面的情况:你决定更改你的项目中数据库的host,因为你要将项目从测试环境转移到实际的上产环境中。如果你的项目中多个位置用到了这个host,那你不得不一个一个找到这些位置再修改成新的host。花了半天,然后过了一天,你发现项目在生产环境
Java服务总在半夜挂,背后的真相竟然是... | 京东云技术团队
最近有用户反馈测试环境Java服务总在凌晨00:00左右挂掉,用户反馈Java服务没有定时任务,也没有流量突增的情况,Jvm配置也合理,莫名其妙就挂了