遇见Maven之Maven 高级快速入门1

Maven 高级

1.分模块开发

1.1 分模块开发设计

(1)按照功能拆分

我们现在的项目都是在一个模块中,比如前面的SSM整合开发。虽然这样做功能也都实现了,但是也存 在了一些问题,我们拿银行的项目为例来聊聊这个事

  • 网络没有那么发达的时候,我们需要到银行柜台或者取款机进行业务操作
  • 随着互联网的发展,我们有了电脑以后,就可以在网页上登录银行网站使用U盾进行业务操作
  • 再来就是随着智能手机的普及,我们只需要用手机登录APP就可以进行业务操作

上面三个场景出现的时间是不相同的,如果非要把三个场景的模块代码放入到一个项目,那么当其中 某一个模块代码出现问题,就会导致整个项目无法正常启动,从而导致银行的多个业务都无法正常班 理。所以我们会按照功能将项目进行拆分

(2)按照模块拆分

比如电商的项目中,有订单和商品两个模块,订单中需要包含商品的详细信息,所以需要商品的模型 类,商品模块也会用到商品的模型类,这个时候如果两个模块中都写模型类,就会出现重复代码,后 期的维护成本就比较高。我们就想能不能将它们公共的部分抽取成一个独立的模块,其他模块要想使 用可以像添加第三方jar包依赖一样来使用我们自己抽取的模块,这样就解决了代码重复的问题,这种 拆分方式就说我们所说的按照模块拆分。
在这里插入图片描述

  • 将原始模块按照功能拆分成若干个子模块,方便模块间的相互调用,接口共享。 刚刚我们说了可以将domain层进行拆分,除了domain层,我们也可以将其他的层也拆成一个个对立 的模块,如:

这样的话,项目中的每一层都可以单独维护,也可以很方便的被别人使用。关于分模块开发的意义, 我们就说完了,说了这么多好处,那么该如何实现呢?

1.2 分模块开发实现

前面我们已经完成了SSM整合,接下来,咱们就基于SSM整合的项目来实现对项目的拆分

1.2.1 环境准备

我们要在idea中将环境快速准备好
在这里插入图片描述

1.2.2 抽取domain层
  1. 创建新模块

创建一个名称为maven_01_pojo的jar项目

  1. 项目中创建domain包

在maven_01_pojo项目中创建domain包,并将springmvc_ssm中Book类拷贝到该包中
在这里插入图片描述

  1. 删除原项目中的domain包

删除后,springmvc_ssm项目中用到Book的类中都会有红色提示,如下:
在这里插入图片描述

说明:出错的原因是springmvc_ssm中已经将Book类删除,所以该项目找不到Book类,所以报错 要想解决上述问题,我们需要在springmvc_ssm中添加maven_01_pojo的依赖。

  1. 建立依赖关系

在springmvc_ssm项目的pom.xml添加maven_01_pojo的依赖

<dependency>
            <groupId>com.hyj</groupId>
            <artifactId>maven-01-pojo</artifactId>
            <version>1.0-SNAPSHOT</version>
</dependency>

因为添加了依赖,所以在springmvc_ssm中就已经能找到Book类,所以刚才的报红提示就会消失

  1. 编译springmvc_ssm项目

编译springmvc_ssm你会在控制台看到如下错误
在这里插入图片描述

错误信息为:不能解决springmvc_ssm项目的依赖问题,找不到maven_01_pojo这个jar包。

为什么找不到呢? 原因是Maven会从本地仓库找对应的jar包,但是本地仓库又不存在该jar包所以会报错。 在IDEA中是有maven_01_pojo这个项目,所以我们只需要将maven_01_pojo项目安装到本地仓库即可

  1. 将项目安装到本地仓库

将需要被依赖的项目maven_01_pojo,使用maven的install命令,把其安装到Maven的本地仓库中
在这里插入图片描述

安装成功后,在对应的路径下就看到安装好的jar包
在这里插入图片描述

说明:具体安装在哪里,和你们自己电脑上Maven的本地仓库配置的位置有关

当再次执行springmvc_ssm的compile的命令后,就已经能够成功编译

1.2.3 抽取Dao层
  1. 创建新模块

创建一个名称为maven_03_dao的jar项目
在这里插入图片描述
在这里插入图片描述

  1. 项目中创建dao包

在maven_03_dao项目中创建dao包,并将springmvc_ssm中BookDao接口拷贝到该包中
在这里插入图片描述

在maven_03_dao中会有如下几个问题需要解决下:

  • 项目maven_03_dao的BookDao接口中Book类找不到报错
    • 解决方案在maven_03_dao项目的pom.xml文件中添加maven-01-pojo项目
<dependencies>
        <dependency>
        <groupId>com.hyj</groupId>
        <artifactId>maven-01-pojo</artifactId>
        <version>1.0-SNAPSHOT</version>
        </dependency>
</dependencies>
  • 项目maven-03-dao的BookDao接口中,Mabtis的增删改查注解报错
    • 解决方案在maven-03-dao项目的pom.xml文件中添加Mybatis的依赖
<dependencies>
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.5.6</version>
    </dependency>
 
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.47</version>
    </dependency>
</dependencies>
  1. 删除原项目中的Dao包

删除Dao包后,因为在springmvc-ssm中的BookServiceImpl使用到了Dao的内容,所以我们要在springmvc-ssm的pom.xml文件中配置maven-03-dao的依赖

<dependency>
            <groupId>com.hyj</groupId>
            <artifactId>maven-03-dao</artifactId>
            <version>1.0-SNAPSHOT</version>
</dependency>

此刻在springmvc-ssm中已经导入了maven-03-dao和maven-01-pojo包
在这里插入图片描述

再次对springmvc-ssm项目进行编译,依旧会报错,如下:
在这里插入图片描述

这里报错的原因是与上一次报错的原因一样,Maven在仓库中没有找到maven-03-dao的jar包,所以我们需要将maven-03-dao的jar包安装到本地仓库中

  1. 将项目安装到本地仓库中

将需要被依赖的项目maven_03_dao,使用maven的install命令,把其安装到Maven的本地仓库中
在这里插入图片描述

安装成功后,在对应的路径下就看到安装好的jar包
在这里插入图片描述

当再次执行springmvc_ssm的compile的命令后,就已经能够成功编译
在这里插入图片描述

1.2.4 运行测试并总结

将抽取后的项目进行运行,测试之前的增删改查功能依然能够使用。

所以对于项目的拆分,大致会有如下几个步骤:

(1) 创建Maven模块

(2) 书写模块代码 分模块开发需要先针对模块功能进行设计,再进行编码。不会先将工程开发完毕,然后进行拆分。拆 分方式可以按照功能拆也可以按照模块拆

(3)通过maven指令安装模块到本地仓库(install 指令)

团队内部开发需要发布模块功能到团队内部可共享的仓库中(私服)

  • 15
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值