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