這篇文章主要介紹springboot中maven配置依賴的示例分析,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、外貿(mào)營銷網(wǎng)站建設(shè)與策劃設(shè)計(jì),召陵網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:召陵等地區(qū)。召陵做網(wǎng)站價(jià)格咨詢:028-86922220
具體如下:
我們通過引用spring-boot-starter-parent,添加spring-boot-starter-web
可以實(shí)現(xiàn)web項(xiàng)目的功能,當(dāng)然不使用spring-boot-start-web,通過自己添加的依賴包也可以實(shí)現(xiàn),但是需要一個(gè)個(gè)添加,費(fèi)時(shí)費(fèi)力,而且可能產(chǎn)生版本依賴沖突。我們來看下springboot的依賴配置:
利用pom的繼承,一處聲明,處處使用。在最頂級的spring-boot-dependencies中,使用dependencyManagement讓所有子項(xiàng)目引用一個(gè)依賴而不用顯式的列出版本號,將結(jié)構(gòu)信息,部署信息,共同的依賴信息放置在統(tǒng)一的位置。dependencyManagement只聲明依賴,并不真正引入,因此子項(xiàng)目需要通過dependencies引入相關(guān)依賴。
1)spring-boot-dependencies組成:
第三方依賴的版本號
插件的版本號
springboot的依賴包,固定版本的parent依賴固定版本包,如果升級只需修改parent的版本號,即可統(tǒng)一更換依賴。
\
第三方依賴,解決了第三方依賴版本不兼容的沖突,使用第三方依賴更加便捷
插件
2)spring-boot-parent組成:
添加額外的依賴,用戶會(huì)使用的第三方依賴,但是spring-boot-dependencies中沒有依賴
測試相關(guān)的依賴
以及其他插件及profile配置
3)spring-boot-starter-parent組成:
父級spring-boot-dependencies無需多說
依賴spring-core
在src/main/resources目錄下,僅application.yml和application.properties是資源文件并需要進(jìn)行過濾;在src/main/resources下除application.yml和application.properties外也是資源文件,但不需要過濾。過濾會(huì)將文件中${...}替換為系統(tǒng)屬性或者項(xiàng)目屬性值。
4)sprint-boot-starter-*
可以通過parent來統(tǒng)一管理,這也就是springboot的四大神器之一的starter所帶來的便捷。根據(jù)不同的功能,添加不同的starter即可。在springboot源碼包中我們可以看到spring-boot-starters中有50多個(gè)starter
圖中根目錄pom.xml為spring-boot-starters,使用maven的聚合模塊,其他starter作為聚合模塊的子目錄存在,目的是一次構(gòu)建多個(gè)項(xiàng)目模塊,如下圖:
通過models來管理所有的starter,可以一次性構(gòu)建所有starter:
使用assembly插件,將一組文件、目錄、依賴元素組裝成一個(gè)歸檔文件,如下圖:
使用該插件,executions執(zhí)行器會(huì)執(zhí)行mvn assembly:assembly,只運(yùn)行一次,描述文件的路徑為src/main/assembly/starter-poms-assembly.xml,我們來看下描述文件:
打包的文件格式為zip,模塊文件為**/pom.xml,該插件執(zhí)行完效果如下:
會(huì)在src同級目錄下生成target文件夾并在其下生成:
zip文件中所有子starter文件的依賴
在源碼根目錄中與spring-boot-starters同級的目錄中,spring-boot-deployment-tests,spring-boot-integration-tests,spring-boot-samples都使用了pom的聚合模塊功能。包括spring-boot-1.5.1.RELEASE整個(gè)項(xiàng)目也是使用聚合模塊功能??梢允褂胢vnw對項(xiàng)目進(jìn)行統(tǒng)一構(gòu)建。
結(jié):
spring-boot的maven配置大概如上所述,使用到了
a.pom繼承:一處聲明,處處使用
b.pom聚合:一次構(gòu)建多個(gè)項(xiàng)目模塊
c.其他插件,各種配置
能讓我們在對spring-boot實(shí)現(xiàn)有認(rèn)識(shí)的同時(shí),加深對maven配置的理解。
以上是“springboot中maven配置依賴的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!