springboot Idea 开发 测试 生产 多环境配置及打包

我们的项目在开发环境、生产环境,不同的环境下会有不同的配置。比如访问服务的端口,数据库的配置等。如果每次切换环境或发布时都去修改这些配置的值,不仅麻烦而且很容易出错。
那该怎么办呢?
能不能通过不同的环境,加载不同的配置呢?

解决方法:

方法一:增加多配置文件,不同环境时,读取不同配置

1、根据环境,增加不同的配置文件,具体如下图:

在这里插入图片描述
具体配置内容类似 application.yml,根据不同环境,设置不同服务器,端口等

2、删除application.yml内容,增加环境配置

spring:
  profiles:
    active: dev

这样,我们切换环境和打包时,只需要修改application.yml即可。

不过每次还是需要更改application.yml,还是有些麻烦,我们可以通过下面进阶版处理

方法二:通过profiles动态配置环境

1、根据环境,增加不同的配置文件,具体如下图:
在这里插入图片描述

2、修改pom.xml,设置配置环境profiles(多模块工程时,在启动模块pom中修改),与bulid平级

<profiles>
        <profile>
            <id>dev</id>
            <properties>
                <!-- 环境标识,需要与配置文件的名称相对应 -->
                <activatedProperties>dev</activatedProperties>
            </properties>
            <activation>
                <!-- 默认环境 -->
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <id>test</id>
            <properties>
                <activatedProperties>test</activatedProperties>
            </properties>
        </profile>
        <profile>
            <id>prod</id>
            <properties>
                <activatedProperties>prod</activatedProperties>
            </properties>
        </profile>
    </profiles>

3、设置application.yml内容,动态指定启动环境

spring:
  profiles:
    active: @activatedProperties@

注: @activatedProperties@ 中内如必须与 profile=>properties=> activatedProperties节点一致

4、选择启动环境

在这里插入图片描述
5、指定环境打包

通过命令,指定打包环境打包

clean package -P prod

打包完成,可查看 target\classes 中 application.yml 是否是指定环境

spring:
  profiles:
    active: prod
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值