SpringCloud如何搭建一個多模塊項目

在spring cloud系列章節中,本來已經寫瞭幾個章節瞭,但是自己看起來有些東西寫得比較雜,所以重構瞭一下springcloud的章節內容,新寫瞭本章節,先教大傢在工作中如何搭建一個多模塊的springcloud項目。

本章及後面章節,我們使用的開發環境是 spring tool suite (sts) + maven (當然你也可以使用IDEA + Gradle,目前使用的公司也很多)。

一、新建一個父maven project模塊

File->new->other->maven->maven project

記得勾選紅框,我們僅僅隻是需要該項目的pom.xml文件

如果生成後,有src文件,我們刪除該文件,隻保留pom.xml文件

修改pom.xml文件內容

<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">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.4.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
  </parent>
 
  <groupId>com.haly</groupId>
  <artifactId>springcloud</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>
 
  <name>springcloud</name>
  <url>http://maven.apache.org</url>
 
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <spring-cloud.version>Greenwich.SR1</spring-cloud.version>
  </properties>
 
  <dependencies>
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
    </dependency>
  </dependencies>
   
  <dependencyManagement>
    <dependencies>     
        <dependency>
          <groupId>org.springframework.cloud</groupId>
          <artifactId>spring-cloud-dependencies</artifactId>
          <version>${spring-cloud.version}</version>
          <type>pom</type>
          <scope>import</scope>
      </dependency>
      </dependencies>
  </dependencyManagement>
     
 <build>
      <plugins>
          <plugin>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-maven-plugin</artifactId>
          </plugin>
      </plugins>
  </build>
</project>

註意: 很多同學在搭建項目的過程中,引入依賴時,pom文件總是報錯,這一般是springboot和springcloud的版本不一致造成。

這個系列所有章節,我們使用的版本為 springboot :2.1.4.RELEASE springcloud:Greenwich.SR1

我們新建這個父工程後,發現它其實隻有一個pom文件,沒有什麼業務功能,但是工作中我們都會新建一個這樣的項目目錄,它的作用如下

1. 工作中,我們整個項目的名稱就是這個maven項目的名稱,在svn中拉取項目下,隻要拉這個主工程的分支就行瞭。

2.它的pom文件會定義為父pom,後續的module工程可以繼承該pom,所以很多module工程共用的配置,都可以放到這裡。

二、新建一個springcloud-eureka-server子模塊

選擇主項目springcloud,右鍵->Maven->new maven module project

生成項目目錄結構如下:

註意:有些同學新建子項目完成後,項目的展示都是並排著,沒有展示出父子關系,需要調整一個展示形式,才會出現上面的項目結構。

點擊上圖標紅的地方 -> projects Presentation – > Hierarchical

如果生成的springcloud-eureka-server模塊沒有resources目錄

springcloud-eureka-server上右鍵點擊項目-> new->Source Folder

三、新建一個springcloud-eureka-client子模塊

參考新建springcloud-eureka-server模塊的步驟,新增一個springcloud-eureka-client模塊

生成的項目結構如下:

這時,我們去父項目springcloud中打開pom.xml文件,會發現自動增加瞭新建子模塊的引入

<modules>
<module>springcloud-eureka-server</module>
<module>springcloud-eureka-client</module>
</modules>

四、總結:

通過上面的步驟,我們已經搭建好瞭一個多模塊的springcloud項目,但是這僅僅隻是一個項目架構,如果需要運行起來,我們還需要做如下三步

1. 修改子模塊的pom.xml文件,增加對應模塊功能需要的依賴包

2. 在src/main/resources目錄下,新增application.properties文件,配置項目的配置項

3. 在src/main/java目錄的com.haly包下,新增對應模塊的啟動類

如何運行多模塊springcloud項目,請看下一章節:一起來學Spring Cloud | 第二章:服務註冊和發現組件 (Eureka)

到此這篇關於SpringCloud如何搭建一個多模塊項目的文章就介紹到這瞭,更多相關SpringCloud 多模塊項目內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: