6springboot的多环境设置和切换

springboot多环境设置和切换

一般开发中,都会用到各种环境去运行项目,比如 测试、开发、部署环境等。spring boot特供了多环境的切换和设置,环境切换有两种方式。

  1. properties配置
  2. yml配置
  3. 动态切换

properties配置方式

spring boot默认会读取application.properties配置文件。

首先创建多个环境,就需要创建多个配置文件,而且配置文件命名有要求,例如:

  1. application-环境名.properties
  2. application-dev.properties
  3. application-test.properties

如果要选择某一个具体的环境,只需要在spring boot默认的配置文件中声明即可,如下图:

image-20200826230238333

在application.properties中使用 spring.profiles.active=环境名去声明当前项目使用的环境,如果在配置文件中输入spring之后没有提示后面的配置,应该是下面的依赖不存在或没有生效,可以手动添加到pom.xml文件中,下面的是我从spring boot里面复制的,版本那里有点问题,可以自行设置版本。

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-configuration-processor</artifactId>
  <version>${spring-boot.version}</version>
</dependency>

yml配置方式

yml和properties不太一样,不需要创建多个环境配置文件,只需在yml文件中声明环境即可,如下:

image-20200827105952285

注意每个环境之间使用---分隔(注意是三个---分隔),默认第一个是主环境。可以在默认环境指定使用其他环境。

spring:
    profiles:
      active: dev

以上代码是声明要使用的环境。

spring:
  profiles: dev

以上代码是设置环境的名字,注意环境名字不要随便起,有规范,可以百度一下,环境的缩写形式。

动态切换

上面的两种配置方式都是静态,就是运行项目前指定使用的环境,那接下来使用动态方式进行配置。

  1. 通过运行参数指定环境

    • Idea : 在application主运行类鼠标右键 -》 Edit 项目名application -》Program arguments -》输入 --spring.profiles.active=环境名,如下图

    image-20200827111909012

    • 通过maven的打jar包形式把项目打包,然后cmd运行,输入 java -jar 项目名.jar spring.profiles.active=环境名
  2. 通过vm参数指定环境

    vm参数也在上图中,就是上图的VM options ,然后输入:-Dspring.profiles.active=环境名,注意开头是-D。

posted @ 2020-08-27 11:46  HainChen  阅读(1384)  评论(0编辑  收藏  举报