Maven的拆分聚合思想 Maven教程 拆分与聚合 模块拆分 低拆分高聚合

Maven的拆分聚合思想

一、问题引入

  • 在我们前面创建SSM整合案例里面,可以看出我们普通项目中的结构
    在这里插入图片描述
  • 但是存在一个问题! 例如!

卖家查看订单信息,需要查询数据库,这是DAO层的任务
卖家查看订单信息,需要查询数据库,这也是DAO层的任务

  • 这就牵扯到代码的可重用,想要的效果是不同工程的相同任务或者模块可以使用同一套jar包
    这里的 jar 包 指 dao 和 domain 封装起来看成订单读取任务的 jar 包。

如果只是简单的复制解决,那么复制多少代码需要维护多少
代码复用,就是将其拆分出来一个独立工程,只需要维护一份就够了
在这里插入图片描述

二、maven的聚合思想

  • Maven解决代码的复用问题
    • 将一个完整的项目拆分为不同的模块,每个模块都有独立的坐标,哪里需要这些模块,直接导入坐标即可
    • 今后如果公司开发一个新项目,我们先考虑问题不是dao, service, utils, domain如何编写,我们要考虑的是,dao, service, utils, domain 这些模块是否已经存在,如果存在直接弓|用。

我们可以把拆分零散的模块聚合到一起编写一个完整的项目 ,这就是maven聚合思想

2.1 工程与模块的概念

2.1.1 工程和模块的区别

  • 工程不等于完整的项目,模块也不是完整的项目,一个完整的项目看的是代码完成。

一个完整的项目和此项目中的模块和工程没有关系

  • 工程只能使用自己内部资源,工程先天具有独立性

  • 模块不是独立的,模块属于父工程,先天就就可以使用父工程中的资源

  • 平级直接引用是依赖依赖是后天建立的

在实际开发中,如果传递依赖丢失,也就是jar包无法导入,那么直接再导入一次

三、具体示例

  • 创建工程与模块
    在这里插入图片描述

  • 何为继承:
    继承是为了消除重复,如果将 dao、 service、 web 分开创建独立的工程则每个工程的 pom.xml
    文件中的内容存在重复,比如:设置编译版本、锁定 spring 的版本的等,可以将这些重复的
    配置提取出来在父工程的 pom.xml 中定义

  • 何为聚合:
    项目开发通常是分组分模块开发, 每个模块开发完成要运行整个工程需要将每个模块聚合在一起运行,比如: dao、 service、 web 三个工程最终会打一个独立的 jar/war 运行

猜你喜欢

转载自blog.csdn.net/Janyi_/article/details/113816883
今日推荐