中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何進行maven模塊劃分實踐

發布時間:2021-12-10 15:24:16 來源:億速云 閱讀:205 作者:柒染 欄目:大數據

如何進行maven模塊劃分實踐,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

我們平常做的java項目模塊劃分可能是這樣:

如何進行maven模塊劃分實踐


controller為控制器層;service為業務邏輯實現層;dao和數據庫交互;util放些工具類;constant放常量類。

這樣的模塊劃分很常見,但是有很多弊端:

1、當隨著項目版本迭代,需求不斷增加,代碼結構越來越龐大,為后期的維護增大成本。比如說,我們改了一個controller類,就得整個項目全部編譯。

2、比如說項目的util包里封裝了很多通用工具類,當前項目可以用,其他項目也可以用,如果是上面的劃分模式,就得依賴項目war,這變得非常的惡心,因為在maven中配置對war的依賴遠不如依賴jar那樣簡單明了。

其實這種劃分沒有遵守一個設計模式原則:“高內聚,低耦合”。雖然我們通過包名劃分了層次,這很好,但還不夠,因為就構建層次來說,所有東西都被耦合在一起了。因此我們需要使用Maven劃分模塊(module)

如下圖:

如何進行maven模塊劃分實踐

artmuseum-parent為所有module的父類,打包類型為pom,只有一個pom.xml文件用于管理module;

artmuseum-common被artmuseum-parent管理,該工程用于封裝工具類、常量,打包類型為jar;

artmuseum-manage同樣被artmuseum-parent管理,為該項目主要module,用于管理controller、service、dao、pojo這四個module,打包類型為pom;

module之間依賴關系如下:

artmuseum-manage-controller -> 

artmuseum-manage-service ->

artmuseum-manage-dao ->

artmuseum-manage-pojo ->

artmuseum-common

這種劃分就解決了上面的弊端:

1、方便重用,如果需要把common包中的工具類等用到其他項目組件,只需要

把common這個module執行mvn install后,依賴生成的jar即可;

2、利于擴展和維護,修改了controller層的代碼,只需要mvn install這個module即可。

基于此,今天擼了一個聚合工程出來,用到了SSM框架并實現了一個發布項目的接口(簡單的入庫)。

工程結構如下:

如何進行maven模塊劃分實踐

接口測試如下:

如何進行maven模塊劃分實踐

入庫成功如下:

如何進行maven模塊劃分實踐

看完上述內容,你們掌握如何進行maven模塊劃分實踐的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

东平县| 高雄市| 白朗县| 神池县| 丽水市| 巨鹿县| 邻水| 漳浦县| 麦盖提县| 乌鲁木齐市| 安达市| 左贡县| 巴彦县| 湘潭市| 贺兰县| 林州市| 察雅县| 洛隆县| 台东县| 武定县| 日土县| 民丰县| 江华| 博白县| 镇雄县| 乌海市| 饶河县| 乌兰察布市| 翁牛特旗| 综艺| 聊城市| 赤峰市| 临武县| 宜章县| 平凉市| 夹江县| 怀柔区| 壤塘县| 台东市| 博野县| 尤溪县|