0007SpringBoot配置不同环境内容及指定启动哪个环境
1、多profiles的形式
分别新增application-dev.properties和application-prod.properties配置文件,
其中application-dev.properties中配置端口为:server.port=8081
其中application-prod.properties中配置端口为:server.port=8082
而原application.properties中配置的端口为:server.port=8080;
测试:启动引导类,发现启动的端口为8080;
在application.properties中增加 spring.profiles.active=dev,指定加载dev环境的profile文件,即application-dev.properties,重新启动,发现启动端口为8081;
在application.properties中增加 spring.profiles.active=prod,指定加载prod环境的profile文件,即application-prod.properties,重新启动,发现启动端口为8082;
如果将spring.profiles.active=prod1,而没有prod1对应的配置文件,则默认使用application.properties中的配置,即8080端口
2、在yml中以文档块的形式配置
在application.yml中以3各横线“---”的形式进行文档块分隔
第一种情况:
server:
port: 8083
#spring:
# profiles:
# active: dev
---
server:
port: 8084
#spring:
# profiles: dev
---
server:
port: 8085
#spring:
# profiles: lt 3个文档块,但是没有指定属于哪种环境,所以最下边的内容会覆盖上边的内容,即启动端口为8085
第二种情况:
server:
port: 8083
#spring:
# profiles:
# active: dev
---
server:
port: 8084
spring:
profiles: dev
---
server:
port: 8085
spring:
profiles: lt 指定了每个文档块所属环境,但是没有指定具体启用哪个文档块,则启用默认的文档块,即端口8083
第三种情况:
server:
port: 8083
spring:
profiles:
active: dev
---
server:
port: 8084
spring:
profiles: dev
---
server:
port: 8085
spring:
profiles: lt 通过标红部分指定启用dev环境,即启动端口号为8084
3、通过配置启动应用的参数或者虚拟机参数的形式来启动,则以此为准,yml中指定的启用的哪个环境不再生效


或者通过配置VM options指定:

虽然配置文件指定使用dev,应该为8084,但是此处通过参数的形式指定启用lt环境,所以真正启用的端口为8085
4、通过命令行的方式给定参数来指定启用哪个环境
通过IntelliJ IDEA工中的maven -- package将项目打包,将jar包拷贝到指定目录,打开cmd窗口,cd 到指定目录,在该目录下运行如下命令:
java -jar springboot_test-0.0.1-SNAPSHOT.jar --spring.profiles.active=lt
即可启动lt文档块对应 8085
若有理解不到位之处,望指正!
0007SpringBoot配置不同环境内容及指定启动哪个环境的更多相关文章
- Linux本地yum源配置以及使用yum源安装gcc编译环境
本文档是图文安装本地yum源的教程,以安装gcc编译环境为例. 适用范围:所有的cetos,红帽,fedroa版本 适用人群:有一点linux基础的小白 范例系统版本:CentOS Linux rel ...
- IDEA指定启动JDK版本
使用场景: 开发人员在自己的机器上可能装了多个版本的JDK,但是在环境变量中只能配置一个 JAVA_HOME ,so你的IDEA Eclipse 可能因为你在 JAVA_HOME 配置JDK1.8 以 ...
- UNIX高级环境编程(8)进程环境(Process Environment)- 进程的启动和退出、内存布局、环境变量列表
在学习进程控制相关知识之前,我们需要了解一个单进程的运行环境. 本章我们将了解一下的内容: 程序运行时,main函数是如何被调用的: 命令行参数是如何被传入到程序中的: 一个典型的内存布局是怎样的: ...
- (三)配置Hadoop1.2.1+eclipse(Juno版)开发环境,并运行WordCount程序
配置Hadoop1.2.1+eclipse(Juno版)开发环境,并运行WordCount程序 一. 需求部分 在ubuntu上用Eclipse IDE进行hadoop相关的开发,需要在Eclip ...
- Web环境中Spring的启动过程
1.spring不但可以在JavaSE环境中应用,在Web环境中也可以广泛应用,Spring在web环境中应用时,需要在应用的web.xml文件中添加如下的配置: …… <context-par ...
- Qemu搭建ARM vexpress开发环境(二)----通过u-boot启动Linux内核
Qemu搭建ARM vexpress开发环境(二)----通过u-boot启动Linux内核 标签(空格分隔): Qemu ARM Linux 在上文<Qemu搭建ARM vexpress开发环 ...
- STS Eclipse IDEA 指定启动JDK版本
使用场景: 开发人员在自己的机器上可能装了多个版本的JDK,但是在环境变量中只能配置一个 JAVA_HOME ,so你的IDEA Eclipse 可能因为你在 JAVA_HOME 配置JDK1.8 以 ...
- 更优雅的配置:docker/运维/业务中的环境变量
目录 docker-compose 环境变量 .env 文件 env_file docker stack 不支持基于文件的环境变量 envsubst envsubst.py 1. 使用行内键值对 2. ...
- Win8.1系统下配置搭建IIS8.5+PHP5.5.4运行环境
原文 Win8.1系统下配置搭建IIS8.5+PHP5.5.4运行环境 很多人喜欢用linux搭建php网页语言运行环境,但由于linux高度自定义化,经常需要root运行命令,略显高端,相对应的微软 ...
随机推荐
- Centos7安装gitlab11 学习笔记之基础概念、部署安装、权限管理、issue管理
一.基础介绍 1.简介 一个基于GIT的源码托管解决方案 基于rubyonrails开发 集成了nginx postgreSQL redis sidekiq等组件 2.安装要求 2g内存以上,有点占内 ...
- pytest使用总结笔记
简介 pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高.并且pytest兼容unittest的用例,支 ...
- 【k8s第三步】Kubernetes-Dashboard仪表盘【已修正错误】
⒈下载描述文件 wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta6/aio/deploy/recommen ...
- HTTP最常见的请求头
HTTP最常见的请求头如下: l Accept:浏览器可接受的MIME类型: l Accept-Charset:浏览器可接受的字符集: l Accept ...
- Qt程序开机自动运行
一.写入注册表需要管理员权限 1.开发中生成并运行程序需要写入注册表时,应该以管理员权限打开项目: 2.点击程序运行需要写入注册表,则应该以管理员权限打开此程序. 二.实现 void MoreSetW ...
- 只学python行吗
常言道:"流水的语言,铁打的Python",目前它可以说是已经"睥睨天下,傲视群雄"了.它天生丽质,易于读写,非常实用,从而赢得了 广泛的群众基础,被誉为&qu ...
- Linux驱动函数解读
一.kmalloc().kzalloc()和vmalloc() 这三个函数都可以分配连续的虚拟内存 除此之外,这三个函数的区别有: 1. kmalloc()和kzalloc()函数分配的物理内存也是连 ...
- 学习Electorn(1)——Hello World
环境 操作系统是Manjaro kde 18.01 按照官网文档:https://electronjs.org/docs 安装node https://nodejs.org/en/download/p ...
- Manacher算法+注释
Manacher算法是用来求一个字符串中最长回文串的算法. 考虑暴力求最长回文串的做法: 暴力枚举字符串中的所有字串判断是否回文,然后求最大值. 时间复杂度O(n^3),考虑优化. 我们从枚举所有字串 ...
- (二)XML基础(2)
三.解析 服务端解析 JDK: DOM SAX JAXB java and xml Binding 开源(一般都是用开源的) ...