亲宝软件园·资讯

展开

SpringBoot application.yml多环境

胡安民 人气:0

介绍

开发SpringBoot应用的时候,通常程序需要在测试环境测试成功后才会上线到生产环境。而测试环境和生产环境的数据库地址、服务器端口等配置都不同。在为不同环境打jar包时,需要频繁的修改application.yml配置文件,十分麻烦。
可以采用创建多个配置文件的方法解决这一问题。

为了实现多环境配置,我们可以在本地开发的时候在Resource文件夹下新建不同环境的配置文件,如下图所示:

默认配置文件application.yml文件可根据自己需求使用,最后会合并其他的application-xx.yml配置文件,当前环境配置文件内容优先,application.yml优先级最低,相同内容使用优先级最高的,不同内容合并

maven

    <dependencies>
        <dependency>
            <groupId>org.yaml</groupId>
            <artifactId>snakeyaml</artifactId>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>3.2.0</version>
                <configuration>
                    <delimiters>@</delimiters>
                    <useDefaultDelimiters>false</useDefaultDelimiters>
                </configuration>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <!--开启过滤,用指定的参数替换directory下的文件中的参数-->
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>
    <!-- 多环境配置方案 -->
    <profiles>
        <profile>
            <!-- 本地开发环境 -->
            <id>dev</id>
            <properties>
                <profileActive>dev</profileActive>
            </properties>
            <!-- 默认开启这个配置 -->
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <id>test</id>
            <properties>
                <profileActive>test</profileActive>
            </properties>
        </profile>
        <profile>
            <id>prod</id>
            <properties>
                <profileActive>prod</profileActive>
            </properties>
        </profile>
    </profiles>

之后刷新Maven就会出现各种环境的选项了,默认是dev环境,打包的时候选择对应的环境打包就行了

yml配置

在application.yml,application-dev.yml, application-prod.yml,application-test.yml 里都加上下面的配置

spring:
  profiles:
    active:  @profileActive@ # dev开发环境

启动的时候就会自动获取Maven里勾选的配置了

加载全部内容

相关教程
猜你喜欢
用户评论