最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

分模塊構建Maven工程的方法步驟

 更新時間:2020年10月20日 08:33:43   作者:沉默著歡喜,  
這篇文章主要介紹了分模塊構建Maven工程的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

分模塊構建Maven工程Demo

1.分模塊構建Maven分析

在企業(yè)項目開發(fā)過程中,由于項目規(guī)模龐大,業(yè)務復雜,參與的人員比較多,一般會通過合理的模塊拆分將一個大型的項目拆分為N多個小模塊,分別進行開發(fā)。而且拆分出的模塊可以非常容易的被其他模塊復用。

常見的拆分方式有兩種:

  • 第一種:按照業(yè)務模塊進行拆分,每個模塊拆分成一個maven工程,例如將一個項目分為用戶模塊、訂單模塊、購物車模塊等,每個模塊對應就是一個maven工程
  • 第二種:按照進行拆分,譬如持久層、業(yè)務層、表現(xiàn)層等,每個層對應就是一個maven工程
  • 不管是上面哪種拆分方式,通常都會提供一個父工程,將一些公共的代碼和配置提取到父工程中進行統(tǒng)一管理和配置。

在這里插入圖片描述

1.1 Maven工程的繼承

在Java語言中,類之間是可以繼承的,通過繼承,子類就可以引用父類中非private的屬性和方法。

同樣,在maven工程之間也可以繼承,子工程繼承父工程后,就可以使用在父工程中引入的依賴。 繼承的目的是為了消除重復代碼

被繼承的Maven項目中的pom.xml文件中的定義是:

<groupId>com.hj</groupId>
  <artifactId>parent</artifactId>
  <version>1.0-SNAPSHOT</version>
  <!--父工程的打包方式必須為pom-->
  <packaging>pom</packaging>

被繼承的maven工程通常稱為父工程,父工程的打包方式必須為pom,
所以我們區(qū)分某個maven工程是否為父工程就看這個工程的打包方式是否為pom。 繼承的Maven項目中的pom.xml文件中的定義是否為pom。

 <parent>
    <artifactId>parent</artifactId>
    <groupId>com.hj</groupId>
    <version>1.0-SNAPSHOT</version>
    <relativePath>../parent/pom.xml</relativePath>
  </parent>

繼承其他maven父工程的工程通常稱為子工程, 在pom.xml文件中通過parent標簽進行父工程的繼承。

1.2 maven工程的聚合

在maven工程的pom.xml文件中可以使用<modules>標簽將其他maven工程聚合到一起,聚合的目的是為了進行統(tǒng)一操作。例如拆分后的maven工程有多個,如果要進行打包,就需要針對每個工程分別執(zhí)行打包命令, 操作起來非常繁瑣。這時就可以使用<modules>標簽將這些工程統(tǒng)一聚合到maven工程中,需要打包的時候,只需要在此工程中執(zhí)行一次打包命令,其下被聚合的工程就都會被打包了。

在這里插入圖片描述

在<modules>標簽中添加被聚合的Maven工程

1.3分模塊構建maven工程具體實現(xiàn)

此案例分模塊構建 整合一下SSM測試

在這里插入圖片描述

1.3.1首先創(chuàng)建父工程

![在這里插入圖片描述](https://img-blog.csdnimg.cn/2020101723124332.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDkxMzkyNg==,size_16,color_FFFFFF,t_70#pic_center

創(chuàng)建完畢會自動打開到pom.xml文件

首先聲明<packaging>pom</packaging>
父工程的打包方式必須為pom。

在這里插入圖片描述

隨后加入SSM框架所需坐標的jar包版本鎖定:
父工程中的pom文件中呢只用于jar包版本的鎖定,
子工程用什么直接寫坐標不用寫version

<!--指定版本-->
 <properties>
    <spring.version>5.0.5.RELEASE</spring.version>
    <springmvc.version>5.0.5.RELEASE</springmvc.version>
    <mybatis.version>3.4.5</mybatis.version>
  </properties>
 <!--鎖定jar版本-->
  <dependencyManagement>
    <dependencies>
      <!-- Mybatis -->
      <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>${mybatis.version}</version>
      </dependency>
      <!-- springMVC -->
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${springmvc.version}</version>
      </dependency>
      <!-- spring -->
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-aop</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-expression</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-aspects</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context-support</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-tx</artifactId>
        <version>${spring.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

1.3.2. 構建子工程 maven_pojo

父工程上右鍵new -->Module- ->Maven

在這里插入圖片描述

構建完畢后創(chuàng)建實體類對象

在這里插入圖片描述

構建完畢 子工程pom文件中顯示:

<!--表示當前maven工程繼承了 maven_parent父工程-->
<parent>
  <artifactId>maven_parent</artifactId>
  <groupId>com.hj</groupId>
  <version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>

<groupId>com.hj</groupId>
<artifactId>maven_pojo</artifactId>

此時父工程maven_parent的pom文件中就會自動的加入:
用于用于聚合其他其他maven工程的<modues>標簽

在這里插入圖片描述

子工程已經(jīng)聚合在父工程中。

1.3.3. 構建子工程 maven_dao

構建dao層

在這里插入圖片描述

構建完畢后創(chuàng)建相關類,添加配置文件;

在這里插入圖片描述

在maven_dao模塊的pom文件中 添加依賴

<dependencies>
 <!--在dao層的pom文件中加入pojo的坐標依賴-->
  <dependency>
      <groupId>com.hj</groupId>
      <artifactId>maven_pojo</artifactId>
      <version>1.0-SNAPSHOT</version>
      <scope>compile</scope>
    </dependency>
  <!-- Mybatis和mybatis與spring的整合 -->
  <dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
  </dependency>
  <dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>1.3.1</version>
  </dependency>
  <!-- MySql驅動 -->
  <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.32</version>
  </dependency>
  <!-- druid數(shù)據(jù)庫連接池 -->
  <dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.0.9</version>
  </dependency>
  <!-- spring相關 -->
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-aop</artifactId>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-expression</artifactId>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-beans</artifactId>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-aspects</artifactId>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context-support</artifactId>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-test</artifactId>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-tx</artifactId>
  </dependency>
  <!-- junit測試 -->
  <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
  </dependency>
  </dependencies>

1.3.4. 構建子工程 maven_service

構建service層

在這里插入圖片描述

構建完畢后創(chuàng)建相關類,添加配置文件

在這里插入圖片描述

在maven_service模塊的pom文件中 添加依賴

<!--這里用到了maven的依賴傳遞的特點,
 service直接依賴dao的坐標就無須再定義坐標-->
  <dependencies>
    <dependency>
      <groupId>com.hj</groupId>
      <artifactId>maven_dao</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>
    <!--添加springMvc用到的坐標-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
    </dependency>
  </dependencies>

1.3.5. 構建子工程 maven_web

最后構建web模塊

在這里插入圖片描述

構建完畢后創(chuàng)建相關類,添加配置文件

在這里插入圖片描述

在maven_web的pom文件中加入依賴

<!--這里用到了maven的依賴傳遞的特點 
web直接依賴service的坐標就無須再定義坐標-->
  <dependency>
   <groupId>com.hj</groupId>
   <artifactId>maven_service</artifactId>
   <version>1.0-SNAPSHOT</version>
  </dependency>
 </dependencies>

在這里插入圖片描述

1.3.6 項目整體結構

項目整體結構如右圖所示:
1:maven_parent為父工程,其余工程為子工程,都繼承了
父工程maven_parent

2:maven_parent工程將其子工程都進行了聚合
3:子工程之間存在依賴關系,比如maven_dao依賴
maven_pojo、maven_service依賴maven_dao、
maven_web依賴maven_service

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

1.3.7 測試運行

把maven_web模塊添加到tomcat中

在這里插入圖片描述

分模塊構建Maven工程,測試運行成功。

在這里插入圖片描述

到此這篇關于分模塊構建Maven工程的方法步驟的文章就介紹到這了,更多相關分模塊構建Maven 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • springcloud部署提示 找不到url的解決

    springcloud部署提示 找不到url的解決

    這篇文章主要介紹了springcloud部署提示 找不到url的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教。
    2022-01-01
  • 詳解Java中的泛型

    詳解Java中的泛型

    這篇文章主要介紹了Java中的泛型,當我們不確定數(shù)據(jù)類型時,我們可以暫時使用一個字母 T代替數(shù)據(jù)類型,例如寫一個方法,但是我們不知道它是傳遞的是什么數(shù)據(jù)類型,我們就可以使用泛型,到時候只要指明T是什么數(shù)據(jù)類型,就可以使用了,需要的朋友可以參考下
    2023-05-05
  • Lombok的@Data等注解無效的解決

    Lombok的@Data等注解無效的解決

    這篇文章主要介紹了Lombok的@Data等注解無效的解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • Feign遠程調(diào)用Multipartfile參數(shù)處理

    Feign遠程調(diào)用Multipartfile參數(shù)處理

    這篇文章主要介紹了Feign遠程調(diào)用Multipartfile參數(shù)處理,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • BaseMapper接口的使用方法

    BaseMapper接口的使用方法

    這篇文章主要介紹了BaseMapper接口的使用方法,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-12-12
  • SpringCloud集成zookeeper實現(xiàn)服務注冊并訪問功能

    SpringCloud集成zookeeper實現(xiàn)服務注冊并訪問功能

    zookeeper和eureka一樣,是用于充當服務注冊功能服務器的一個springcloud插件,這篇文章主要介紹了SpringCloud集成zookeeper實現(xiàn)服務注冊并訪問,需要的朋友可以參考下
    2022-06-06
  • Java基礎之CardLayout的使用

    Java基礎之CardLayout的使用

    這篇文章主要介紹了Java基礎之CardLayout的使用,文中有非常詳細的代碼示例,對正在學習java基礎的小伙伴們有很好地幫助,需要的朋友可以參考下
    2021-05-05
  • 使用SpringBoot編寫一個優(yōu)雅的單元測試

    使用SpringBoot編寫一個優(yōu)雅的單元測試

    這篇文章主要為大家詳細介紹了如何使用SpringBoot編寫一個優(yōu)雅的單元測試,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-07-07
  • JAVA加密算法- 非對稱加密算法(DH,RSA)的詳細介紹

    JAVA加密算法- 非對稱加密算法(DH,RSA)的詳細介紹

    這篇文章主要介紹了JAVA加密算法- 非對稱加密算法(DH,RSA),詳細介紹了DH,RSA的用法和示例,需要的朋友可以了解一下。
    2016-11-11
  • 通過實例解析POJO和JavaBean的區(qū)別

    通過實例解析POJO和JavaBean的區(qū)別

    這篇文章主要介紹了通過實例解析POJO和JavaBean的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07

最新評論

德阳市| 文安县| 汝阳县| 永胜县| 巴楚县| 大新县| 喀喇沁旗| 安吉县| 上饶市| 巴彦淖尔市| 逊克县| 永清县| 石狮市| 武威市| 济宁市| 西乌珠穆沁旗| 黄骅市| 武宁县| 阿瓦提县| 平塘县| 清水河县| 贺州市| 吉林省| 乐陵市| 同德县| 昌图县| 金乡县| 三穗县| 资中县| 顺义区| 高邮市| 集贤县| 勃利县| 中阳县| 浮山县| 丹东市| 兴城市| 芦溪县| 宣恩县| 宁陕县| 宝应县|