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!
推薦閱讀:
- 使用maven的profile構建不同環境配置的方法
- maven的pom.xml中profiles的作用詳解
- 帶你瞭解Java Maven的打包操作
- maven profile實現多環境配置的示例
- springboot配置文件讀取pom文件信息方式