maven快速入门第九讲——maven工程的拆分、聚合以及继承思想
发布日期:2021-06-30 17:54:52 浏览次数:2 分类:技术文章

本文共 1148 字,大约阅读时间需要 3 分钟。

工程的拆分

不知你有没有想过,一个好好的maven工程为什么要进行拆分呢?面对当今互联网+的行业,软件项目变得越来越庞大,复杂程度越来越高,这大大地提高了开发与管理的成本。而工程的拆分可以实现分模块开发与测试,亦可实现多线程开发与管理,在提高工程代码复用度的同时也提高了软件的开发速度与效率。

例如,一个完整的早期开发好的crm项目,现在要使用maven工程对它进行拆分,这时候就可以将dao层拆解出来,形成一个独立的工程,同样service层以及web层也都进行这样的拆分。

在这里插入图片描述
这里,我画个草图来让大家更加容易地理解工程的拆分。
在这里插入图片描述
从上图可以看出,出现了一个问题,如果crm项目中dao层一旦出现bug需要修复时,erp项目与oa项目中的dao层也要做相应的修改,像这样重复的事情需要做三遍!实在是不可取,那怎么解决呢?

这时,就可以将crm项目中的dao层拆解出来了,并形成一个独立的工程,然后每个项目都来复用这个独立的工程。

在这里插入图片描述
把工程拆分成一个个独立的工程,将来要用到的时候就把它们的坐标给引进来就行了,这就有点类似于搭积木一样。
在这里插入图片描述
把积木搭建成各种项目:
在这里插入图片描述

工程的聚合

项目开发通常是分组分模块开发的,每个模块开发完成后,要运行整个工程需要将每个模块聚合在一起运行,比如,dao、service以及web这三个工程最终会打一个独立的war包运行。

就拿一个完整的早期开发好的crm项目来说,把crm项目拆成多个子模块后,独立运行各个模块是无法完成软件项目的要求的,只有把它们都整合起来,分工合作才能完成工作。因此需要父工程来管理各个子模块,把它们聚合在一起运行,即把crm07_dao、crm07_service以及crm07_web这三个工程打成一个独立的可运行的war包。

在这里插入图片描述
这有点像把汽车的各个零部件组装起来,变成一辆可以行驶的车。以下是一堆的汽车各个零部件。
在这里插入图片描述
将汽车的各个零部件组装起来,可以变成一辆可以行驶的车。
在这里插入图片描述

继承

类似Java中类的继承,都是为了消除重复。子类继承父类,父类里有的方法和属性在子类中就不需要再定义和实现了,使用的时候直接调用父类的就可以了。我们把crm项目拆分后,将会有一个父工程(例如crm07)和若干个子工程(例如crm07_dao、crm07_service、crm07_web),子工程中要用到的依赖都可以在父工程的pom.xml文件中先定义好,将来子工程在开发的时候就不需要再引坐标了。

在这里插入图片描述
你也可以这样理解继承:继承是为了消除重复,如果将dao层、service层以及web层分开创建成独立的工程,那么每个工程的pom.xml文件中的内容将存在重复,比如设置编译版本、锁定Spring的版本等,可以将这些重复的配置提取出来在父工程的pom.xml文件中定义好。

转载地址:https://liayun.blog.csdn.net/article/details/103680220 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:maven快速入门第十讲——使用maven分模块构建工程
下一篇:maven快速入门第八讲——maven项目整合Struts2框架

发表评论

最新留言

很好
[***.229.124.182]2024年04月19日 05时11分47秒