1. 程式人生 > >Eclipse搭建基於Springboot的Maven多模組工程

Eclipse搭建基於Springboot的Maven多模組工程

1,寫在前面的話

1.1,我想說點啥

         公司提供介面服務的專案要進行重構,主旨是構建基於Springboot的Maven多模組聚合工程.因之前接觸Springboot較少,於是就在網上查閱資料,查了好多部落格發現大部分都是寫用idea構建的,部分用Eclipse搭建的部落格感覺又不是那麼合我心意,對於用慣Eclipse的程式設計師來說也懶得再換開發工具了.於是根據自己的實踐,在此寫了一篇<<搭建基於Springboot的Maven多模組工程Demo>>文章,一些複雜的專案只需要在這個Demo基礎專案上再新增配置以及進行拓展就可以了。

1.2,要注意的事

         該基礎Demo所需條件以及開發環境如下:

         1,Eclipse已安裝對應的STS外掛(如何安裝網上多的是)

         2,Java JDK1.8、Maven3.3.9、Springboot1.4.7

         3,該Demo適用於前後端分離的提供介面服務的專案.

2,開始做正事了

2.1,新建一個SpringStarterProject工程

File-->New-->Spring Starter Project

 填寫完成後,點選next

 這裡預設即可,直接點選Next

 這裡不做改動,直接點Finish,最後專案架構如下圖:

 該工程將作為父工程,此時暫不對該專案架構進行變動,只將pom.xml中的打包方式改為pom,springboot的版本號改為1.4.7。

 改完之後專案會報錯,只需maven update一下即可。

2.2,建立各個子模組工程

在上一個工程上點選右鍵-->New-->Maven Module

 填寫完成後,點選Next

 填寫完成後,點選Finish,完成後重新整理一下專案,會出現兩個工程,父工程包含了model子工程,如下圖所示:

 按照上述步驟,根據自己的要求建立好各個子模組,如dao,service,web等,最後整體架構下圖所示:

2.3,變動整個專案的目錄結構

    因為web專案作為外部訪問的入口,而model、dao、service以及demo父工程都不需要對外提供訪問,所以將demo中的Springboot啟動類SpringbootMultiDemoApplication.java和屬性檔案application.properties檔案遷移至web專案中.步驟如下

1,將demo中的啟動類和屬性配置檔案直接拖動至web專案,拖動完成結構如下圖:

相當於demo父工程與web子工程進行了目錄交換

2,將demo中多餘的目錄清除,demo中不需要寫程式碼,專案架構如下圖:

model、dao、service的目錄結構不變.

2.4,改寫pom檔案完成依賴關係

1,model子工程不依賴任何專案無須改動

2,dao子工程新增對model子工程的直接依賴,pom.xml改動如下:

 3,service子工程新增對dao的直接依賴,間接依賴model,其pom.xml檔案改寫如下:

 4,web子工程直接依賴service間接依賴dao和model,其pom.xml檔案改寫如下:

5,父工程配置如何打包

我們最終需要的是web專案對外提供訪問, 並且dao,service,model都將作為依賴包打到web專案生成的可執行jar包中,然後在伺服器上執行,此時需要對父工程的pom.xml檔案進行改動,配置如何打包等等,父工程pom.xml檔案如下:

6,專案如何打包

選中父工程-->右鍵-->Run As-->Maven Install,操作完成後會在各個子工程target資料夾中生成一個指定名稱的jar包,將這些jar包一個個拿出來解壓,會發現在同樣的BOOT-INF/lib目錄下,每個jar包中的東西不一樣,model子工程的jar包只包含父工程中Maven依賴的包,dao中多了一個model子工程依賴包,service子工程多了model和dao兩個依賴包,web工程則包含了所有的jar包.我們最終部署執行的就是web工程target目錄下的可執行jar包。

2.5,配置成對外提供訪問的web專案

1,在web專案的pom.xml檔案中新增Springboot-web和tomcat依賴,如下

 2,在web專案中的application.properties檔案中進行訪問配置,如下

 3,在web專案中編寫測試controller,目錄結構和程式碼如下:

2.6,執行web專案並通過瀏覽器訪問

以上工作都做完後,一個初步的簡單的介面服務專案就完成了,

右鍵執行web專案,並在瀏覽器訪問,訪問路徑如下:

http://localhost:8080/app/hello.json

注意以上過程中若專案出現報錯,只需要進行Maven Update即可消除錯誤.