基於maven構建多模組化的SSM框架

glmapper發表於2019-03-04

之前寫過一篇SSM的框架整合;專案開發框架-SSM;對SSM中的一些點進行了學習記錄,那篇文章也是基於maven來建立的,那麼為什麼又要搞一篇呢?以我當前公司專案A來說,A專案包括前臺、後臺子專案【前臺用於對外,後臺用於管理】,如果按照前一篇文章的那種方式來進行,我們就需要建立兩個單獨的框架來進行開發,一樣的擁有一套從dmo實體類包,util包,dao包,service包以及controller包,這種結構非常的緊湊和獨立,但是問題在於,我們前後臺使用的是同一個庫,dmo、util、dao以及service中都會存在大量重複的程式碼,很多基礎方法無法公用;另外一個原因是,我們還需要包裝一些介面向外提供服務【不侷限於我們自己的這兩個系統】,這樣一來,我們又需要再去抽離一次service,非常不方便。因此就使用maven來構建多模組專案,對於util、dao、rpc服務介面以及service進行模組化分離,這樣一來,這些模組就可以對我們自己的前後臺以及外部提供一些公關的服務,避免了大量的程式碼重複,也方便管理。

Maven多模組專案,通過合理的模組拆分,實現程式碼的複用,便於維護和管理。尤其是一些開源框架,也是採用多模組的方式,提供外掛整合,使用者可以根據需要配置指定的模組。

構建多模組化專案

基於maven構建多模組化專案主要依賴於maven可以實現父子專案的關係,子專案可以父專案的依賴Jar包,這樣也方便我們去共同管理jar依賴,但是由於一個專案中畢竟會有很多人進行協同開發,在此過程中如果沒有很好的約束,對於這種多模組化來說,解決jar包的衝突也很繁瑣。

新建一個父工程

1.建立maven專案

  • step1:(新建maven專案)
  • step2:(勾選建立一個簡單工程)
  • step3:(填寫工程配置:主要是打包方式要選擇pom方式)

    點選finish,父專案就建立成功了!
    2.建立子專案
  • step1:(右擊父專案->maven->New Maven Model Project)
  • step2:
  • step3:(一般情況下,我們專案中的util、dao、service都是可以直接分出來的,這裡我們選擇quickstart來構建,用於生產後面的jar包提供服務。我們的web子專案選擇webapp來構建,用於配置檔案、jsp檔案/ftl/html/js/css等介面資原始檔維護)

    點選finish,完成子模組的構建!構建之後的專案結構為:

    此時,我們的父模組中已經有了子模組的專案標識,新建的dao模組中不包括webapp此類的資料夾。那麼這時就可以將我們的資料訪問相關的類和介面都放在這個子模組中,如果其他專案需要使用,我們直接引入就行,引入方式如下(下面截圖是從service模組引入dao模組的,這裡的groupId,artifactId,version我們可以在dao的pom檔案中直接複製使用):


    (上面新建的過程只作為演示而用,下面的引入和上面的新建專案並非一個專案)
    其他的模組構建和dao的構建過程是一樣的,這裡就不一一構建了。原始碼地址在下面,解壓之後,以maven專案方式匯入,修改下資料庫配置檔案應該就可以直接執行了(當前專案基於jdk1.7寫的,有的小夥伴如果用1.8的話,應該會出現jsp無法編譯的一個錯誤);原始碼附件中還有一個setting檔案,阿里的,個人覺得用起來很不錯,也推薦給大家!

原始碼地址:download.csdn.net/download/si…
【這個是csdn的地址,現在資源上傳還必需要選擇C幣,小夥伴如果沒有csdn賬戶或者C幣不足,可以在文章留言區留言,留下郵箱,我發給你們】

相關文章