SpringBoot進階教程(六十)intellij idea project下建多個module搭建架構(上)

  • 2019 年 10 月 3 日
  • 筆記

在 IntelliJ IDEA 中,沒有類似於 Eclipse 工作空間(Workspace)的概念,而是提出了Project和Module這兩個概念。多module有一個父maven工程,多個子工程。在多個子工程中,可能有一個web工程,也可能有多個web工程。這樣的好處在於大大解耦各個module之間的關係, 我們可以把service的module打成jar包,提供給其他項目使用。

vproject和module區別與關係

SpringBoot进阶教程(六十)intellij idea project下建多个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 架構圖一覽

SpringBoot进阶教程(六十)intellij idea project下建多个module搭建架构

如上圖,其中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)

SpringBoot进阶教程(六十)intellij idea project下建多个module搭建架构

選中hellolearn,右鍵new->module創建子集。

SpringBoot进阶教程(六十)intellij idea project下建多个module搭建架构

注意,不要勾選 Create from archetype 點擊next

SpringBoot进阶教程(六十)intellij idea project下建多个module搭建架构

輸入artifactId

SpringBoot进阶教程(六十)intellij idea project下建多个module搭建架构

輸入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)

SpringBoot进阶教程(六十)intellij idea project下建多个module搭建架构

繼續按照以上方式創建learn-web,稍微注意一下這裡需要勾選 Create from archetype 。為learn-web添加依賴,可以按照learn-service添加依賴的方式直接編輯pom.xml,也可以通過Project Structure設置。打開Project Structure(快捷鍵Ctrl+Alt+Shift+S)添加,具體步驟如下:

SpringBoot进阶教程(六十)intellij idea project下建多个module搭建架构

注意:為了在下篇部落格中更詳細的介紹搭建介面項目,我這裡還是沒有勾選 Create from archetype 。這個看自己需求哈。

SpringBoot进阶教程(六十)intellij idea project下建多个module搭建架构

選擇需要添加依賴的module,然後點擊OK。

v部落格總結

到目前為止,按照以上步驟就可以在project在創建多個module了,另外如果我們需要添加其他外部的jar引用,在hellolearn中的pom.xml中添加依賴即可。子module不用重複添加。

v源碼地址

https://github.com/toutouge/javademosecond/tree/master/hellolearn


作  者:請叫我頭頭哥
出  處:http://www.cnblogs.com/toutou/
關於作者:專註於基礎平台的項目開發。如有問題或建議,請多多賜教!
版權聲明:本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接。
特此聲明:所有評論和私信都會在第一時間回復。也歡迎園子的大大們指正錯誤,共同進步。或者直接私信我
聲援部落客:如果您覺得文章對您有幫助,可以點擊文章右下角【推薦】一下。您的鼓勵是作者堅持原創和持續寫作的最大動力!

Tags: