springboot项目如何配置多环境支持

Java基础 潘老师 1年前 (2023-03-02) 564 ℃ (0) 扫码查看

在springboot项目开发时经常会发布到多种环境,比如本地环境、开发环境、测试环境和生产环境等,由于不同的环境有不同的配置,比如数据库配置、请求前缀配置、端口配置等等都不一样,那么如何才能让springboot项目支持配置多环境呢?接下来Java潘老师带大家看下,只需要以下几步就可以轻松实现。

前置需求

比如我们现在需要配置3个环境,分别是开发环境、测试环境和生成环境,端口都是8080,请求前缀分别为/dev-api/test-api/prd-api

就这样一个简单需求,当然比如数据库配置不一样在如下的实现中也是一个道理。

实现步骤

第一步:新增profiles配置

我们在application.yml中新增profiles配置,具体如下:

spring:
  profiles:
    #  dev | test | prd
    active: @environment@

该配置主要是用来指定激活哪个环境的。

第二步:新增3个yml文件

新增的3个yml文件,和application.yml在同级目录,分别为application-dev.yml、application-test.yml、application-prd.yml分别对应开发环境、测试环境和生产环境的配置,此时application.yml中基本都配置共同的部分,各个环境的yml配置各自不同的部分,比如我们www.panziye.com这里分别配置各自环境的请求前缀:

application-dev.yml

server:
  servlet:
    context-path: /dev-api

application-test.yml

server:
  servlet:
    context-path: /test-api

application-prd.yml

server:
  servlet:
    context-path: /prod-api

第三步:使用

最后我们在使用的时候,比如Java潘老师想要启动或打包开发环境,只需要将application.yml中profiles的配置值由@environment@  改为dev即可,或者如果不想修改配置文件,也可以在Edit Configuration中设置Environmenet variables的值为dev,这样@environment@ 自动就会获取到dev的值,在其他的环境类似,当然你也可以在maven插件中pom.xml中指定profiles配置,设置不同的打包环境,可视化选择激活,方便maven打包,这里不再赘述了。

四、进阶

为了避免频繁修改application.yml中的profiles的环境值,我们可以基于maven的pom.xml中配置profiles,具体如下:

1)pom.xml新增:

我这里只新增了两个环境,一个是dev环境,一个是prd环境,默认激活选中dev环境:

<profiles>
    <profile>
        <!--不同环境Profile的唯一id-->
        <id>dev</id>
        <properties>
            <!--environment是自定义的字段(名字随便起),自定义字段可以有多个-->
            <environment>dev</environment>
        </properties>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
    </profile>
    <profile>
        <id>prd</id>
        <properties>
            <environment>prd</environment>
        </properties>
    </profile>
</profiles>

添加完后记得maven要刷新导入下。

2)然后将application.yml中的profiles修改如下:

spring:
  profiles:
    # dev | prd
    active: @environment@

此时我们在idea右边栏maven中就能看到Profiles选项,默认是选中的dev环境:

之后再去切换环境就很方便的,切换环境之后,就得maven刷新下,然后再去运行或者打包,maven打包发布也方便了。

好了,以上就是潘老师给你介绍的springboot项目如何配置多环境支持的全部内容。


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/java/5865.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】