SpringBoot如果切换多个环境配置

本文介绍如何在Spring Boot项目中通过Maven profiles实现不同环境(如开发、测试、生产)的动态配置切换,包括配置文件的组织、打包时的环境选择和IDE中的快速切换,提升开发效率和部署灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:我们通常在开发项目的时候需要多个环境,例如 本地开发环境、测试环境、准生产环境、生产环境、其实这些环境我们只需要更改对应环境的地址就可以,所以我们的项目中就需要多个环境的配置文件了,例如下面这样,我们在使用的时候,只需要告诉配置加载那个环境的配置文件就可以,这样我们就可以动态加载配置环境配置了。

 下面开始撸代码

1、首先在pom.xml中加入如下配置

<!--环境配置文件 -->
    <profiles>
        <!--开发环境 -->
        <profile>
            <id>dev</id>
            <properties>
                <profiles.active>dev</profiles.active>
            </properties>
            <!-- 不带参数默认打包dev-->
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <!--测试环境 -->
        <profile>
            <id>test</id>
            <properties>
                <profiles.active>test</profiles.active>
            </properties>
        </profile>
        <!--生产环境 -->
        <profile>
            <id>pro</id>
            <properties>
                <profiles.active>pro</profiles.active>
            </properties>
        </profile>
    </profiles>

2、添加打包加载配置逻辑,继续pom.xml

<build>
       <resources>
           <resource>
               <directory>src/main/resources</directory>
               <filtering>true</filtering>
               <excludes>
                   <exclude>**/application-*.yml</exclude>
               </excludes>
           </resource>
           <resource>
               <directory>src/main/resources</directory>
               <includes>
                   <!--suppress UnresolvedMavenProperty -->
                   <include>**/application-${profiles.active}.yml</include>
               </includes>
           </resource>
       </resources>
</build>

3、修改你的application.yml 配置文件,改为动态加载,主要使用的是@符号

spring:
  profiles:
    active: @profiles.active@

4、在IDE中动态切换

5、启动方式改为maven启动

命令:mvn spring-boot:run -P dev

或者

6、项目构建或打包

注意添加打包时需要加载的环境配置文件

mvn package -P pro

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值