文档章节

Spring Boot多环境配置

阿刚ABC
 阿刚ABC
发布于 2017/07/07 14:10
字数 829
阅读 274
收藏 0

我们在开发Spring Boot应用时,通常同一套程序会被应用和安装到几个不同的环境,比如:开发、测试、生产等。其中每个环境的数据库地址、服务器端口等等配置都会不同,如果在为不同环境打包时都要频繁修改配置文件的话,那必将是个非常繁琐且容易发生错误的事。对于多环境的配置,各种项目构建工具或是框架的基本思路是一致的,通过配置多份不同环境的配置文件,再通过打包命令指定需要打包的内容之后进行区分打包,Spring Boot也不例外,或者说更加简单。

    在Spring Boot中多环境配置文件名需要满足application-{profile}.properties的格式,其中{profile}对应你的环境标识,比如:

    application-dev.properties:开发环境

    application-test.properties:测试环境

    application-prod.properties:生产环境

       至于哪个具体的配置文件会被加载,需要在application.properties文件中通过spring.profiles.active属性来设置,其值对应{profile}值。如:spring.profiles.active=test就会加载application-test.properties配置文件内容。

下面,以不同环境配置不同的服务端口为例,进行样例实验。

通过观看https://my.oschina.net/sdlvzg/blog/1154281创建项目,再执行以下操作

创建配置文件

创建配置文件 application.properties

#配置使用哪一个配置文件
spring.profiles.active=dev

创建开发配置文件 application-dev.properties

########################################################
###server
########################################################
#spring boot 默认端口号为8080,可以通过server.port进行修改
server.port=8080 
#spring boot 默认上下文为/,可以通过server.context-path进行修改
server.context-path=/

创建测试配置文件 application-test.properties

########################################################
###server
########################################################
#spring boot 默认端口号为8080,可以通过server.port进行修改
server.port=8081 
#spring boot 默认上下文为/,可以通过server.context-path进行修改
server.context-path=/

创建测试配置文件 application-prod.properties

########################################################
###server
########################################################
#spring boot 默认端口号为8080,可以通过server.port进行修改
server.port=8082 
#spring boot 默认上下文为/,可以通过server.context-path进行修改
server.context-path=/

以上一共四个配置文件,第一个配置文件主要是配置了使用哪一个配置文件进行配置。第二三四个配置文件分别代表了三个环境配置文件,分别是开发环境,测试环境,生产环境,三个配置文件中只有服务端口号不同,其它都相同。

启动测试

        启动开发配置:修改application.properties中的spring.profiles.active=dev。并通过Main方法启动程序,打开浏览器输入地址:http://127.0.0.1:8080/hello, 如果看到页面展示了“Hello world test!”就表示成功了。

        启动测试配置:修改application.properties中的spring.profiles.active=test。并通过Main方法启动程序,打开浏览器输入地址:http://127.0.0.1:8081/hello, 如果看到页面展示了“Hello world test!”就表示成功了。

        启动测试配置:修改application.properties中的spring.profiles.active=prod。并通过Main方法启动程序,打开浏览器输入地址:http://127.0.0.1:8082/hello, 如果看到页面展示了“Hello world test!”就表示成功了。

 

注:通过命令启动程序方式,在命令窗口执行以下命令启动 java -jar xxx.jar --spring.profiles.active=test

可以修改spring.profiles.active后面的值来确定启动哪一个环境。当前配置的是启动测试环境。

 

© 著作权归作者所有

阿刚ABC
粉丝 42
博文 152
码字总数 118786
作品 0
济南
高级程序员
私信 提问
Spring Boot基础教程 ( 四 ) :Spring Boot 属性配置文件详解

原文出处:didispace 相信很多人选择Spring Boot主要是考虑到它既能兼顾Spring的强大功能,还能实现快速开发的便捷。我们在Spring Boot使用过程中,最直观的感受就是没有了原来自己整合Sprin...

didispace
2018/09/27
0
0
Spring Boot属性配置文件&多环境配置

Spring Boot属性配置文件&多环境配置 相信很多人选择Spring Boot主要是考虑到它既能兼顾Spring的强大功能,还能实现快速开发的便捷。我们在Spring Boot使用过程中,最直观的感受就是没有了原...

it_zzy
2018/08/21
0
0
Spring Boot属性配置文件

相信很多人选择Spring Boot主要是考虑到它既能兼顾Spring的强大功能,还能实现快速开发的便捷。我们在Spring Boot使用过程中,最直观的感受就是没有了原来自己整合Spring应用时繁多的XML配置...

ilimhumar
2017/11/04
650
0
Spring Cloud Spring Boot mybatis分布式微服务云架构属性配置文件详解

通过命令行设置属性值 相信使用过一段时间Spring Boot的用户,一定知道这条命令:,通过使用–server.port属性来设置xxx.jar应用的端口为8888。 在命令行运行时,连续的两个减号就是对中的属...

itcloud
2018/06/29
6
0
Spring Boot 进阶,Spring Boot面试题高频出处

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 https://blog.csdn.net/GitChat/article/details/95966523 上一篇带领大家初步了解了如何使用...

GitChat技术杂谈
07/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

将key=value转成对象形式

var params = {};testParan.split(',').forEach(item =>{ var tmpArr = item.split('='); Vue.set(params, tmpArr[0].trim(), tmpArr[1].trim());});Vue.set(params, 'sql', sql);......

沉迷代码我爱学习
25分钟前
4
0
什么是分立器件

  分立器件被广泛应用到消费电子、计算机及外设、网络通信,汽车电子、led显示屏等领域。   半导体产业中有两大分支:集成电路和分立器件。   集成电路   集成电路(integrated circ...

仙溪
35分钟前
5
0
kibana rpm安装

https://www.elastic.co/guide/en/kibana/6.2/rpm.html 下载对应的版本wget https://artifacts.elastic.co/downloads/kibana/kibana-6.2.4-x86_64.rpm 安装 rpm -ivh kibana-6.2.4-x86_64......

看的最远的地方
38分钟前
3
0
高防CDN相比较于高防服务器,为何更加稳定?

对于DDoS攻击,那些已经做过网站、平台的人应该知道,DDoS攻击是非常可怕的,因为这种攻击本质上不能防御,或者DDoS攻击只能被减轻,不能完全消除。DDoS,意思是“分布式拒绝服务”。它是一种...

云漫网络Ruan
39分钟前
4
0
线程SuspendThread() ResumeThread()的使用

SuspendThread():挂起线程 If the function succeeds, the return value is the thread's previous suspend count; otherwise, it is (DWORD) -1. ResumeThread():启动线程 If the functio......

rainbowcode
39分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部