Spring Boot多环境配置

一、前言

日常开发中至少有三个环境,分别是开发环境(dev),测试环境(test),生产环境(prod)。

不同的环境的各种配置都不相同,比如数据库,端口,IP地址等信息.

手动改配置麻烦且容易出错,如何管理不同环境的配置参数呢?

本篇文章就来介绍一下Spring Boot 中多环境如何配置,如何打包

 

二、配置多环境

1. 创建不同环境的配置文件

application-dev.properties、application-test.properties、application-prod.properties

 

2. 在启动类添加下面代码

String activeProfile = SpringUtil.getActiveProfile();
Environment environment = SpringUtil.getBean(Environment.class);
System.out.println("当前环境:" + activeProfile + ", message:" + environment.getProperty("message"));

 

SpringUtil来自hutool包

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.7.1</version>
</dependency>

 

3. 指定运行的环境

3.1 配置文件中指定(方式一)

application.properties或者application.yml文件中指定,内容如下:

server.port=8765

# 指定运行环境为测试环境
spring.profiles.active=test

 

 

3.3 启动配置的方式指定(方式二)

--spring.profiles.active=prod

 

3.3 运行 jar 的时候指定(方式三)

Spring Boot 内置的环境切换能够在运行Jar包的时候指定环境,命令如下:

java -jar xxx.jar --spring.profiles.active=test

 

3.4 Maven 的多环境配置(方式四)

mavenpom.xml文件中定义不同环境的profile

    <dependencies>
        ....
    </dependencies>

    <!--定义三种开发环境-->
    <profiles>
        <profile>
            <!--不同环境的唯一id-->
            <id>dev</id>
            <activation>
                <!--默认激活开发环境-->
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <!--activeProfile对应application.properties中的@activeProfile@-->
                <activeProfile>dev</activeProfile>
            </properties>
        </profile>

        <!--测试环境-->
        <profile>
            <id>test</id>
            <properties>
                <activeProfile>test</activeProfile>
            </properties>
        </profile>

        <!--生产环境-->
        <profile>
            <id>prod</id>
            <properties>
                <activeProfile>prod</activeProfile>
            </properties>
        </profile>
    </profiles>

标签<activeProfile>正是对应着配置文件中的@activeProfile@

<activeByDefault>标签指定了默认激活的环境,则是打包的时候不指定-P选项默认选择的环境。

以上配置完成后,将会在IDEA的右侧Maven选项卡中出现以下内容:

 

3.5 Maven打包的时候指定(方式五)

可以选择打包的环境,然后点击package即可。

 

或者在项目的根目录下用命令打包,不过需要使用-P指定环境,如下:

mvn clean package package -P test

 

如果觉得太麻烦,可以提前定义好maven命令

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值