springboot配置文件讀取pom文件信息方式
配置文件讀取pom文件信息
解決的問題
springboot(當然別的也可以)多環(huán)境切換需要修改配置文件硬編碼,打包時不夠方便。

解決
配置文件能讀取pom文件中的配置,根據(jù)命令選擇不同配置注入springboot的配置文件中
pom配置文件:
<!-- 環(huán)境 -->
<profiles>
<!-- 開發(fā) -->
<profile>
<id>dev</id>
<activation>
<!--默認激活配置,maven打包默認選用的配置-->
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!--當前環(huán)境自定義配置,標簽名自定義-->
<profile.name>dev</profile.name>
<profile.baseUrl>http://localhost:5501</profile.baseUrl>
</properties>
</profile>
<!-- 測試 -->
<profile>
<id>test</id>
<properties>
<!--當前環(huán)境-->
<profile.name>test</profile.name>
<profile.baseUrl>http://test.xxxx.com/xxx</profile.baseUrl>
</properties>
</profile>
<!-- 生產(chǎn) -->
<profile>
<id>prd</id>
<properties>
<!--當前環(huán)境,生產(chǎn)環(huán)境為空-->
<profile.name>prd</profile.name>
<profile.baseUrl>http://api.xxx.cn/xxx</profile.baseUrl>
</properties>
</profile>
</profiles>
修改后的寫法

當然,別的配置項也能這樣寫,這樣寫的好處是只需修改一處別的不用修改
maven打包命令
mvn clean package -Ptest 這樣就能打成測試環(huán)境的包了
可能會出現(xiàn)的一些問題
- 占位符也可以這樣寫 @配置的key@,不建議這樣使用
- 報@@ 解析錯誤,再次執(zhí)行打包命令: mvn clean package -Ptest
- 修改了pom文件中的配置,再次啟動項目環(huán)境沒有變化,因為ide啟動的是你之前的包所以你要重新使用打包命令打個新包
Pom文件依賴配置說明
1、groupId、artifactId、version是依賴的基本坐標,缺一不可,其它兩個坐標元素不指定時將采用默認值
type:依賴的類型,對應坐標packaging,默認為jaroptional:標記依賴是否可選,A->B->C,那么當A依賴于C時就可以設(shè)為可選。exclusions:排除傳遞依賴
scope 依賴范圍
compile:編譯范圍,默認scope,在classpath中存在provided:已提供范圍,比如容器提供Servlet APIruntime:運行時范圍,編譯不需要,接口與實現(xiàn)分離test:測試范圍,單元測試環(huán)境需要system:系統(tǒng)范圍,自定義構(gòu)件,指定systemPathimport:導入依賴
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
java編程實現(xiàn)楊輝三角兩種輸出結(jié)果實例代碼
這篇文章主要介紹了java編程實現(xiàn)楊輝三角兩種輸出結(jié)果實例代碼,具有一定借鑒價值,需要的朋友可以參考下。2017-12-12
java調(diào)用shell命令并獲取執(zhí)行結(jié)果的示例
今天小編就為大家分享一篇java調(diào)用shell命令并獲取執(zhí)行結(jié)果的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07
Apache Shrio安全框架實現(xiàn)原理及實例詳解
這篇文章主要介紹了Apache Shrio安全框架實現(xiàn)原理及實例詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-04-04
java如何自定義List中的sort()排序,用于日期排序
這篇文章主要介紹了java如何自定義List中的sort()排序,用于日期排序,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11
java線程中synchronized和Lock區(qū)別及介紹
這篇文章主要為大家介紹了java線程中synchronized和Lock區(qū)別及介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-06-06

