从0开始学习SpringCould(7)-SpringBoot 多环境配置

为什么需要多环境配置?

真正开发中,环境一般都是分离的,多数情况下都分为:开发环境、测试环境、生产环境等等。

以这三套环境为例,如果这三套环境有三个数据库,每次上线都要修改配置文件中数据库链接,是不太现实的,因为现在几乎都是自动化部署,因此就需要引入多环境配置。

本文以数据库链接为例进行演示,使用到的代码均是前几篇中所产生的;

1、在application.yml中配置开发及测试环境MySQL链接

yml 使用 “---” 来进行内容分离,可以理解为将一个文件分成了几个文件

文末有完整的application.yml示例

配置开发及测试数据源链接示例如下:

注意:properties文件,不能使用这种配置方式

到此,我们已经定义出了开发及测试环境的两套数据源,下一步要指定出当前活动环境,也就是默认环境;

2、指定活动环境

指定活动环境,在application.yml的第一部(以 ““分割)分定义如下代码即可

这段代码的意思就是,指定spring: profiles: dev 的环境为默认活动环境

3、开始第一次测试

启动应用–》访问swagger-ui–》填写测试数据

(这些教程均在前面的博客中有介绍,如果不太清楚建议查看前期博客)

查看本地数据库数据:

可以看到已经多了一条数据。

4、如何动态切换环境4.1、使用IDEA动态切换环境配置

再次测试:启动应用,去swagger发送一条测试数据,步骤参考3

查看测试数据库:

可以看到数据已经存入了test环境对应的测试数据库;

4.2、使用jar包动态切换环境配置

在测试及生产环境的Linux服务器上,需要直接启动jar包的方式来启动应用,多环境配置的切换当做一个参数传递

具体如下:

打jar包测试

再次使用swagger-ui发送一遍测试数据

查看test环境对应的MySQL数据:

新增了一条数据,没问题 多环境配置完成。

5、完整application.yml示例

本篇结束,谢谢!

本文来自企鹅号 - 囤货网媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏JAVA同学会

MAVEN简介之——pom.xml

maven是围绕着构建生命周期这个核心概念为基础的。maven里有3个内嵌的构建生命周期,default,clean和site。 default是处理你项目部署...

17020
来自专栏编程坑太多

一个简单的Django项目

16440
来自专栏数说戏聊

第2章 安装MySQL和MariaDB

mysqld守护进程,是对数据库进行存储和操控的执行者。它监听特定端口(默认是3306),供用户提交查询。标准的MySQL客户端就叫作mysql。

9210
来自专栏惨绿少年

OpenSUSE 服务器系统部署

1、准备 1.1 下载系统 下载地址:https://software.opensuse.org/distributions/leap     目前的最新版本为...

46570
来自专栏云计算教程系列

如何在Ubuntu上安装ionCube

ionCube是一个PHP模块扩展,可加载加密的PHP文件并加速网页。ionCube Encoder可以把PHP源代码转换成ByteCode。进行加密授权处理后...

17200
来自专栏linux系统运维

rsync通过服务同步,linux系统日志,screen工具

22740
来自专栏耕耘实录

在CentOS7下同时安装、使用Python2.x和Python3.x

一般情况下,各类Linux操作系统是会默认安装Python2.x的,在最新的CentOS7.4版本中,发现系统默认只安装了Python2.x,而且是很多系统组件...

11920
来自专栏Golang语言社区

Memcached的网络模型

Memcached依赖于libevent,网络模型是典型的reactor模式,主线程通过自己的event_base绑定端口监听网络中的连接。每个worker线程...

370120
来自专栏挖坑填坑

Asp.net+Vue2构建简单记账WebApp之三(使用Vue-cli构建vue.js应用)

16130
来自专栏小二的折腾日记

服务器-Nginx模块化结构

习惯上将Nginx分为:核心模块、标准模块、可选HTTP模块、邮件服务模块和第三方模块五大类。

8620

扫码关注云+社区

领取腾讯云代金券