目錄
?編輯
分模塊設計與開發
拆分策略
繼承與聚合
版本鎖定
聚合
作用
實現
Maven中繼承與聚合的聯系與區別?
聯系
區別
私服
分模塊設計與開發
將一個大項目拆分成若干個子模塊,方便項目的管理維護,擴展,也方便模塊間的相互引用,資源共享。
拆分策略
策略一:按照功能模塊拆分,比如:公共組件、商品模塊、搜索模塊、購物車模塊、訂單模塊等。
策略二:按層拆分,比如:公共組件、實體類、控制層、業務層、數據訪問層。
策略三:按照功能模塊 + 層拆分。
繼承與聚合
繼承描述的是兩個工程間的關系,與java中的繼承相似,子工程可以繼承父工程中的配置信息,常見于依賴關系的繼承。
第一步:創建父工程,設置打包方式為pom,并繼承spring-boot-starter-parent
第二步,在子工程中配置繼承關系
在子工程中通過parent標簽來設置繼承關系,來指定當前這個子工程要繼承我們所創建的這個父工程,要指定父工程的坐標,通過relativePath來指定父工程的相對路徑,那如果你不指定,默認的是從本地倉庫或者遠程倉庫來查找,一旦設置了繼承關系,這個組織的名字也會從父工程商繼承下來,所以子工程中配置的groupId是可以省略的
第三步,在父工程中配置各個工程的共有依賴
在子工程中,配置了繼承關系后,坐標中的groupId是可以省略的,因為會自動繼承父工程。
若父子工程都配置了同一個依賴的不同版本,以子工程為準
版本鎖定
在maven中,可以在父工程的pom文件中通過<dependencyManagement>來同意管理依賴版本
<dependencies>是直接依賴,在父工程配置了依賴,子工程會直接繼承下來
<dependencyManagement>是統一管理依賴版本,不會直接依賴,還需要在子工程中引入所需依賴(無需指定版本)
聚合
將多個模塊組織成一個整體,同時進行項目的構建
聚合工程師一個不具有業務功能的“空”工程,有且僅有一個pom文件。tlias-parent既可以作為父工程,也可以作為聚合工程,通常來說父工程和聚合工程都是同一個工程,
作用
聚合的作用就是快速構建項目,在構建項目的過程中,我們是不需要考慮工程間的依賴關系的,我們直接在這個聚合工程上進行操作就可以了,比如我們要安裝,我們直接在聚合工程上安裝,那么下面的這些個子模塊都會全部的進行安裝
實現
在Maven中可以通過<modules>設置當前聚合工程所包含的子模塊名稱
Maven在執行聚合操作時,會自動的根據模塊之間的依賴關系來設置構建的順序,與我們在聚合工程中所配置的這個模塊的順序是沒有關系的
如果我們配置好了聚合關系之后,指定了這個聚合工程要聚合哪些模塊之后,在右側的Maven面板中只會展示這個tlias-parent,緊接著將它展開才會看到他里面聚合的其他模塊
接下來我們要進行操作的時候就可以直接在聚合工程里進行操作,0比如要進行clean清理,就直接在聚合工程中進行清理
Maven中繼承與聚合的聯系與區別?
聯系
都屬于設計型模塊,打包方式都位pom,不用寫任何的Java代碼,常將兩種關系制作到同一個pom文件中
區別
繼承可以用來簡化依賴的配置,我們可以將子工程上公共的這部分依賴統一的抽取到父工程中,所以可以簡化依賴的配置,也可以管理依賴的版本,而在配置繼承關系的時候,它不是在父工程商配置,而是在子工程中配置他們之間的繼承關系,這是繼承
對于聚合來說,它的作用是為了快速構建項目,而不用去處理繁瑣的模塊之間的依賴關系,而對于這一層聚合關系來說,而它是在父工程上來配置當前這個聚合工程要聚合哪些模塊的