springboot多項目結(jié)構(gòu)實現(xiàn)
微服務(wù)的目錄結(jié)構(gòu)一般分為如下幾個模塊:
當(dāng)我們做的項目稍微大一點之后,就會經(jīng)常遇到需要把不同的模塊分離出來的時候,比如微信的朋友圈、微信支付、聊天服務(wù)等模塊,像這種微服務(wù)項目一般都會把base、common、前端抽離出來。
common:用于存放一些公用的模塊,比如枚舉類(成功和失敗返回數(shù)據(jù)),對外公開,pom里面不含任何和業(yè)務(wù)相關(guān)的東西。
base:一個寫業(yè)務(wù)邏輯的包,把項目公用的業(yè)務(wù)模塊抽出來放到項目里,不對外公開。在base的pom文件里包含了所有公用業(yè)務(wù)邏輯的依賴,在base里引用之后,其他的業(yè)務(wù)模塊就不需要再進(jìn)入這些依賴了(依賴傳遞)。
注意在其他業(yè)務(wù)邏輯的模塊里面,都需要引入base:
base依賴于common,因為實現(xiàn)base里面的業(yè)務(wù)也需要用到common里的枚舉等。
在父項目的pom文件里面有一個<dependencyManagement> 標(biāo)簽,像這樣:
所有導(dǎo)入的依賴都被放到了<dependencyManagement> 標(biāo)簽里面,
<dependencyManagement> 的作用:
管理依賴版本號,微服務(wù)項目如果把所有模塊的依賴各自引入,會出現(xiàn)版本沖突的問題,所以<dependencyManagement>充當(dāng)了一個全局的依賴管理。當(dāng)某個 Maven 模塊需要具體引用某依賴的時候,直接在集合中指定若干個,這樣就可以實現(xiàn)整個項目依賴的全局管理,不至于零碎地分布在每個模塊中。在此標(biāo)簽元素中聲明了所需依賴的版本號等信息,當(dāng)子項目引入此依賴 jar 包時就需要列出版本號,如果不添加此標(biāo)簽的話子模塊的pom文件就會直接繼承。
relativePath的作用:
默認(rèn)值為../pom.xml,會從本地路徑中獲取parent的pom。
如果是一個空值,表示將始終從倉庫(父級的pom文件)中獲取,不從本地路徑獲取。
maven構(gòu)建jar包時候查找順序:relativePath元素中的地址–本地倉庫–遠(yuǎn)程倉庫
到此這篇關(guān)于springboot多項目結(jié)構(gòu)實現(xiàn)的文章就介紹到這了,更多相關(guān)springboot多項目結(jié)構(gòu)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring事件發(fā)布監(jiān)聽,順序監(jiān)聽,異步監(jiān)聽方式
這篇文章主要介紹了Spring事件發(fā)布監(jiān)聽,順序監(jiān)聽,異步監(jiān)聽方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12Java實現(xiàn)的文件上傳下載工具類完整實例【上傳文件自動命名】
這篇文章主要介紹了Java實現(xiàn)的文件上傳下載工具類,結(jié)合完整實例形式分析了java針對文件上傳下載操作的相關(guān)實現(xiàn)技巧,并且針對上傳文件提供了自動命名功能以避免文件命名重復(fù),需要的朋友可以參考下2017-11-11java多態(tài)的向上轉(zhuǎn)型的概念及實例分析
在本篇內(nèi)容里小編給大家整理的是一篇關(guān)于java多態(tài)的向上轉(zhuǎn)型的概念及實例分析,對此有興趣的朋友們可以跟著學(xué)習(xí)下。2021-05-05解決RestTemplate 請求url中包含百分號 會被轉(zhuǎn)義成25的問題
這篇文章主要介紹了解決RestTemplate 請求url中包含百分號 會被轉(zhuǎn)義成25的問題,具有很好的參考價值,希望對大家有所幫助。2021-10-10