開始先給大家講一個故事:
客戶要做一個內部辦公系統專案,專案包含了 前臺接待,員工管理,財務結算,庫存管理 然后,我們一塊做,做完上線,
過了段時間,某個功能需要修改,于是你們一塊改改改,上線時,所有功能都暫停使用20分鐘,更新版本,
再過了段時間,財務結算需要修改,于是又改改改,上線時,又暫停20分鐘,更新版本,
時間過去了,客戶又提出,,,,,
客戶開始抱怨了,我只是要改某個模塊,每次都要所有部門都暫停,損失太大了!
于是,接待系統,員工系統,財務系統,庫存系統,四個系統應運而生;
叕一段時間后,客戶提出,你看登錄后這個位置啊,把我的名字寫到公司名字下面,還要把十幾個股東的資料展示出來,還有、、、
于是你帶著需求回去面對四個系統的相同功能修改、、、卒!
采用分模塊的方式構建專案就是將上例中用到的兩種方式結合在一起,簡而言之就是將一個大的專案拆分成小的模塊,各功能之間互不干擾又可實作共用基礎引數;

各個模塊之間依賴關系

看結構 一目了然
編譯工具:IDEA JDK1.8
打開IDEA,左上角 File–>new–>project
選擇Spring Initializr --> Next


之后填寫專案名稱,選擇JDK版本,其他無需修改 --> Next
Group: 一般為公司域名 Artifact: 專案工程名稱

因為我們是在構建父模塊,所以其他暫時不要勾選,看一下springboot的版本

之后填寫專案名、專案地址 --> Finish

等待專案構建完成…
刪掉部分檔案

到這里,父模塊算是構建完成,給大家看一下父模塊的pom檔案內容

創建common公共模塊 ,common層我們一般存放物體類,工具類,常量類、例外類等一些共用且不需要交由Spring管理的類,因此創建的時候不需要它是一個SpringBoot專案,只需要創建為傳統的Maven專案即可;
選中我們的專案名Benci-erp,右鍵New --> Module

選擇Maven,以表示我們創建的是一個Maven專案 --> Next

此處填寫的artifactId就是我們的模塊名,創建該模塊時,如果第一步選中了父模塊,那么此處GroupId和Version都會自動填充,如果沒有自動填充,說明創建該模塊的時候沒有選中Wayne-ERP --> Next

該模塊的名稱以及該模塊存放的位置,我一般在自動生成的名稱中間加個-就拿來直接使用了 --> Finish

我們再回過頭看一下父pom 你會發現 父pom多了一個module子模塊

我們再打開erp-common模塊的pom檔案 其中relativePath 指向父pom檔案位置

到現在,common公共層已創建完畢,我們再看一下專案結構

創建 erp-service 方式和common一樣,此處不再一一演示,service我們一般只存放service介面,因此也不需要交由Spring去管理,所以我們也將其創建為傳統的Maven專案,
創建中,,,,,,
創建完成后,父pom會多一個module

erp-service的pom檔案如下

創建erp-service-impl
erp-service-impl我們一般存放service實作類,Controller中需要自動注入,需要交由Spring管理,所以我們將其創建為SpringBoot專案,
選中專案名Benci-Erp,右鍵New --> Module,在彈出的頁面中選擇Spring Initializr --> Next

此處Group需要手動填寫,填好之后 --> Next

選擇SpringBoot版本,與創建父模塊時選擇版本要保持一致

創建中…
創建完成之后,需要在父pom中手動添加erp-service-impl子模塊,并洗掉dependencies中的依賴

erp-service-impl的pom檔案中parent標簽,手動替換為如下格式

刪掉service-impl部分檔案

到這里 基本架構基本完成了 接下來 你要看你想把專案拆成多少模塊,比如 倉庫模塊 員工管理模塊 財務結算模塊 接待模塊
比如倉庫模塊
新建module erp-Warehouse
這就是我們倉庫管理系統的打包入口,啟動入口,存放與倉管相關介面和頁面
創建方式與erp-service-impl相似
此處需要修改Package內容,此處包名表示SpringBoot自動生成的main方法所在的位置
因為SpringBoot基于main方法啟動時,默認會自動掃描本包及本包下所有子包的內容,所以我們將main方法向外提一層;


把剩余幾個系統構建完,專案結構如圖

給大家列舉一下建好的各個模塊的pom檔案















每個web模塊對應一個main方法
啟動時找到各自的main方法
點擊啟動即可

到這里 已經講解完成!
有不對的地方或者有遺漏的地方麻煩指出一下,不勝感激!
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/237621.html
標籤:其他
