SpringBoot多环境配置

对于多环境的配置,这类的文件一般不会写在同一个配置中,这样会导致整个项目混乱且在打包生产中非常麻烦。多配置需要在pom.xml中设置默认的配置文件以及配置文件的声明,例如下方的XML,声明了两个不同的配置文件dev和pro,profiles标签和build标签同级。

    <profiles>
        <profile>
            <id>dev</id>
            <properties>
                <profiles.active>dev</profiles.active>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <id>pro</id>
            <properties>
                <profiles.active>pro</profiles.active>
            </properties>
        </profile>
    </profiles>

接下来需要编写application.yml配置文件,在不同的情况下配置不同的配置文件,如下所示

spring:
  profiles:
    active: "@profiles.active@"

接下来就可以创建两个标准的配置文件application-dev.yml和application-pro.yml,这两个配置文件会在项目中指定进行引入,在打包时可以使用

mvn package -Ppro指定使用pro文件进行打包。

注意:在使用idea这样的工具直接运行时可能会因为之前进行过打包造成配置文件引入错误,所以需要在springboot的启动打印选项中查看具体的打印内容确定引入配置的正确性。

链接