SpringBoot不同环境加载不同配置文件(dev,sit,uat)

目录

  • 一、springboot的profile配置
    • profile多配置文件
  • 二、maven的profiles策略

我们在使用spring的时候,一般都会有不同的环境需要部署:开发环境、测试环境和验收环境,而不同的环境则会有不同的配置,比如数据库ip。解决这个问题,我所熟悉的有两种策略:

  • springboot的profile参数配置
  • pom文件的resource & profile配置

DEV环境:DEV顾名思义就是develop,即代码开发的环境。
SIT环境:System Integration Test系统集成测试,开发人员自己测试流程是否走通。
UAT环境:User Acceptance Test用户验收测试,由专门的测试人员验证,验收完成才能上生产环境。

一、springboot的profile配置

Spring Profiles 允许用户根据环境配置来读取不同的配置文件(dev,sit,uat 等),可以通过激活、指定参数等方式快速切换环境。

profile多配置文件

在Spring Boot中多环境配置文件名需要满足application-{profile}.properties的格式,其中{profile}对应你的环境标识,比如:

application.properties:主配置文件
application-dev.properties:开发环境
application-sit.properties:测试环境
application-uat.properties:验收环境
至于哪个具体的配置文件会被加载,需要在application.properties文件中通过spring.profiles.active属性来设置,其值对应{profile}值。
有人会提问为啥要这样命名
SpringBoot不同环境加载不同配置文件(dev,sit,uat)_第1张图片
application-dev.properties:开发环境

server.port=9001

application-sit.properties:测试环境

server.port=9002

application-uat.properties:验收环境

server.port=9003

application.properties:主配置文件

spring.profiles.active=sit

测试成功
SpringBoot不同环境加载不同配置文件(dev,sit,uat)_第2张图片

二、maven的profiles策略

pom文件配置

     <profiles>
        <profile>
            <!-- 开发环境 -->
            <id>dev</id>
            <properties>
                <profiles.active>dev</profiles.active>
            </properties>
        </profile>
        <profile>
            <!-- 测试环境 -->
            <id>sit</id>
            <properties>
                <profiles.active>sit</profiles.active>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <!-- 验收环境 -->
            <id>uat</id>
            <properties>
                <profiles.active>uat</profiles.active>
            </properties>
        </profile>
    </profiles>

这里默认sit配置
会多出来一个Profiles
SpringBoot不同环境加载不同配置文件(dev,sit,uat)_第3张图片
多环境配置
application-dev.properties:开发环境

server.port=9001

application-sit.properties:测试环境

server.port=9002

application-uat.properties:验收环境

server.port=9003

application.properties:主配置文件
注意这里的profiles.active 要和pom文件的对应上

spring.profiles.active=@profiles.active@

测试成功(记得切换Profiles的时候,刷新一下,不然不会生效)
SpringBoot不同环境加载不同配置文件(dev,sit,uat)_第4张图片

你可能感兴趣的:(#,Spring,Boot,spring,boot,后端,java)