SpringBoot進階教程(六十)intellij idea project下建多個module搭建架構(上)
在 IntelliJ IDEA 中,沒有類似於 Eclipse 工作空間(Workspace)的概念,而是提出了Project和Module這兩個概念。多module有一個父maven工程,多個子工程。在多個子工程中,可能有一個web工程,也可能有多個web工程。這樣的好處在於大大解耦各個module之間的關係, 我們可以把service的module打成jar包,提供給其他專案使用。
vproject和module區別與關係
圖片來源於網路,侵刪。
- IntelliJ系中的Project相當於Eclipse系中的Workspace
- IntelliJ系中的Module相當於Eclipse系中的Project
- IntelliJ中一個Project可以包括多個Module
- Eclipse中一個Workspace可以包括多個Project
- PhpStorm中似乎在弱化Module的存在,把File選單下的New Module選單專案直接刪除了
v建立project和module
1.0 架構圖一覽
如上圖,其中hellolearn是project,learn-model等是子module...
2.0 建立步驟
2.1 建立project
建立springboot project常用的方法有兩種。
- 方法一:可以使用官網https://start.spring.io/生成spring boot的模板, 具體的可以移步《SpringBoot入門教程(一)詳解intellij idea搭建SpringBoot》
- 方法二:也可以在idea中,單擊file》new》project。建立project我使用的是方法一,方法二就不多講了。注意在建立project的時候不要選擇Create from archetype複選框建立空模板就行。
2.2 建立module(learn-model)
選中hellolearn,右鍵new->module建立子集。
注意,不要勾選 Create from archetype
點選next
輸入artifactId
輸入module name,並點選完成。
2.3 建立module(learn-service)
按照建立learn-model同樣的方法,建立learn-service。
在learn-service module的pom.xml(專案物件模型)檔案中,新增打包方式宣告。 jar
, 新增以後再用maven打包的時候,就會把learn-service打成jar包。
需要注意的是,在learn-service中,我們會需要依賴learn-model的某些屬性,所以還需在pom.xml檔案中新增依賴關係。
learn-service詳細配置如下:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <artifactId>hellolearn</artifactId> <groupId>com.test</groupId> <version>0.0.1-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>learn-service</artifactId> <dependencies> <dependency> <groupId>com.test</groupId> <artifactId>learn-model</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <dependency> <groupId>com.test</groupId> <artifactId>learn-persist</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> </dependencies> </project>
2.4 建立module(learn-web)
繼續按照以上方式建立learn-web,稍微注意一下這裡需要勾選 Create from archetype
。為learn-web新增依賴,可以按照learn-service新增依賴的方式直接編輯pom.xml,也可以通過Project Structure設定。開啟Project Structure(快捷鍵Ctrl+Alt+Shift+S)新增,具體步驟如下:
注意:為了在下篇部落格中更詳細的介紹搭建介面專案,我這裡還是沒有勾選 Create from archetype
。這個看自己需求哈。
選擇需要新增依賴的module,然後點選OK。
v部落格總結
到目前為止,按照以上步驟就可以在project在建立多個module了,另外如果我們需要新增其他外部的jar引用,在hellolearn中的pom.xml中新增依賴即可。子module不用重複新增。
v原始碼地址
https://github.com/toutouge/javademosecond/tree/master/hellolearn
作 者:請叫我頭頭哥
出 處:http://www.cnblogs.com/toutou/
關於作者:專注於基礎平臺的專案開發。如有問題或建議,請多多賜教!
版權宣告:本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連結。
特此宣告:所有評論和私信都會在第一時間回覆。也歡迎園子的大大們指正錯誤,共同進步。或者直接私信我
聲援博主:如果您覺得文章對您有幫助,可以點選文章右下角【推薦】一下。您的鼓勵是作者堅持原創和持續寫作的最大動力!