SpringBoot配置Profile实现多环境支持

前些天,有一个需求要用SpringBoot的多环境,当时没有系统学习springboot ,所以在网上找来找去的找到了一个解决方案,并写了一篇文章用来记录---(springBoot项目如何启动多个实例),但是那篇文章介绍的并不全面.刚好今天学习了springboot的多环境配置,于是趁着刚学习完,拿这篇全面的讲解多环境配置,同时也用来复习巩固。

Profile

1.多Profile文件

我们在主配置文件编写的时候,文件名可以是 application-{profile}.yml或者application-{profile}.properties ,都行,以下用yml为主。以下主配置文件表示 application.yml

eg.

编写一个名为 application-dev.yml文件:

server:
  port: 8081

编写一个名为application-prod.yml文件:

server:
  port: 8082

先启动springboot项目,发现启动的端口为 81(application.yml中指定的端口为 81) ,也就是说默认启动的是application.yml的环境。

2. yml支持多文档块方式

配置文件中也支持使用多文档块的方式创建多环境,是用 --- (三个-)表示一个文档块 ,如果不指定启动别的文档块,默认启动第一个文档块,可以通过 spring.profiles.actice=dev 来指定启动别的文档块。使用图解说明如下:

SpringBoot配置Profile实现多环境支持_第1张图片

3. 激活指定的profile

1.在配置文件(application.yml)

中指定spring.profiles.actice: dev(在sts中yml文件中会自动提示,并自动缩进)。

2. 使用命令行的方式激活:如下所示:

1)可以在编辑器idea,eclipse的run configurations中指定参数

--spring.profiles.active=dev

SpringBoot配置Profile实现多环境支持_第2张图片

SpringBoot配置Profile实现多环境支持_第3张图片

SpringBoot配置Profile实现多环境支持_第4张图片

2将项目打成jar包 ,然后启动dos命令行的方式:

SpringBoot配置Profile实现多环境支持_第5张图片

3使用虚拟机参数方式:

-Dspring.profiles.active=dev 注意:-D是固定写法

SpringBoot配置Profile实现多环境支持_第6张图片

上面就是springboot配置多环境并启动的几种方式,较之前写的更加详细。我使用的ide是IDEA ,eclipse和sts配置参数也在run configurations中,希望能够帮到你。

以上仅为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的