SpringBoot-application.yml多環境配置詳解

介紹

開發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裡勾選的配置瞭

到此這篇關於SpringBoot-application.yml多環境配置詳解的文章就介紹到這瞭,更多相關SpringBoot application.yml多環境內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: