Maven的聚合與繼承DEMO(以及前後端分離)

目錄

 

目錄

前言:

實現一個聚合項目:

1、創建p項目

2、修改packaging類型爲pom

3、添加業務核心a項目(作爲後端)

4、添加web項目。作爲前端的開發。

5、整體項目大綱

6、b項目引入a依賴。

7、a項目的開發與單元測試

8、拓展

源碼:



前言:

當一個獨立的maven項目不斷擴大,我們會增加人手,並將項目按模塊或者按層次進行劃分,由不同的人進行負責相應的模塊或者層次。這裏就需要對項目進行拆分,拆分之後又需要一個可以一次構建所有拆分項目的“總項目”。 那麼,總項目就是聚合了所有子項目的傢伙,這就是聚合的概念。

當一個公司從原先的一個項目,擴展到了多個項目,開始有了多個團隊,A團隊負責A項目,B團隊負責B項目。每個項目技術負責人雖然使用相同的Java技術與框架,但可能各自使用了不同的版本。甚至說使用了Java技術的不同框架。那麼對於公司方面來說,整體的維護和管理是很不方便的。 如果有那麼一個標準,類似於Java中的超類概念,每個項目團隊的項目就是這個超類的子類實現,子類使用超類規定的方法並可以有自己的拓展。 那麼從整體來講,這樣就不會那麼混亂。 這就是繼承的概念。(當然繼承的好處不止這麼一點。)

maven作爲依賴管理的工具,同樣提供了這樣的功能,就是pom的繼承。公司提供標準的pom,規定了Spring使用的版本,以及相關的依賴版本,並且有公司的技術大牛負責處理各個依賴的版本衝突問題。每個項目組的項目只要繼承這個大牛pom,不需要關係依賴版本,衝突等問題,從而專注以業務開發。(其實SpringBoot就是免費的大牛pom,而且還不僅僅提供了pom

 

實現一個聚合項目:

聚合其實是可以和繼承分開使用的, 但如果說,他們聚合在一起,a模塊使用4.0.0版本的Spring,b模塊使用5.0.0版本的Spring,那麼這就會產生很多意想不到的衝突和事件。

所以,常常來說,聚合會與繼承一起使用。 那麼接下來,我簡單演示一下使用Eclipse快速搭建一個聚合項目

  1. p 父項目 (聚合)
  2. a 業務核心
  3. b 系統web

1、創建p項目

 

2、修改packaging類型爲pom

(這個項目作爲被集成和聚合任務,不需要有自己的業務代碼。)

3、添加業務核心a項目(作爲後端)

選中p項目,點擊new,添加一個Maven Module

4、添加web項目。作爲前端的開發。

其他的操作一樣,maven骨架選擇webapp。

 

5、整體項目大綱

這樣我們就可以單獨的構建a b 以及 整體的構建p。

6、b項目引入a依賴。

b作爲前端,需要與後端核心代碼進行交互,即需要引入a依賴

對於前端開發來說, 他只需要下載b,進行開發,如果後端提供了新版本,前端只需要修改version即可捕獲,又或者使用SNAPSHOT,每次更新最新的a項目代碼。

7、a項目的開發與單元測試

對於普通的小公司來說,他們的後端開發都是通過web頁面進行測試代碼的正確性的,其實這樣並不高效。應該使用單元測試

若引入了單元測試,作爲後端開發,a項目無需引入b,只要完成業務邏輯,實現單元測試,完成代碼覆蓋。那麼後端就與前端分離了。

 

8、拓展

a的後端還可以進行拆分,具體的可以根據業務的需求,項目的分工進行,此處不再贅述。

 

源碼:

https://github.com/bof-jangle/p

ssm項目結構+前端交互 的webapp 源碼:

https://github.com/bof-jangle/p_webapp

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章