Maven总结2/3-----maven工程拆分与聚合

相关文章
Maven总结1/3-----概述
Maven总结3/3-----私服、第三方jar包的上传和下载

maven工程拆分与聚合的思想

业务场景
看订单操作
买家:买家要看到订单,必须把数据库中订单数据查询出来。dao层的任务。
卖家:卖家要到订单,必须把数据库中订单数据查询出来。dao层的任务。

一份代码可重用:如果修改维护的话,只用修改一份。
一份代码复制粘贴到不同的地方:复制粘贴几个地方,就要维护及各个地方。

传统ssm框架整合的项目:我们要在每个项目中都防止一套ssm框架的jar包。

如果是maven的ssm工程,有十个项目,我们只需要一套jar包。真正项目中只用放置jar的坐标即可。

maven普通项目和与拆分项目对比

在这里插入图片描述

maven解决代码可重用和便于维护的方案

maven把一个完整的项目,分层不同的独立模块,这些模块都有各自独立的坐标。哪个地方需要其中某个模块,就直接引用该模块的坐标即可。
今后如果公司开发一个新项目,我们先考虑问题不是dao, service, utils, domain如何编写,
我们考虑的是,dao, service, utils, domain这些模块是否已经存在,如果存在直接引用。
以上说的就是maven拆分思想。
我们可以把拆分零散的模块聚合到一起编写一个完整的项目,这就是maven聚合思想。

工程和模块的区别

工程 != 完成的项目,模块 != 完成的项目;
一个完成的项目看的是代码,代码完成,就可以说这是一个完整的项目,和此项目是工程和模块没有关系。

工程天生只能使用自己内部资源,工程天生是独立的,后台可以和其他工程或模块建立关联关系。
模块天生不是独立的,模块天生是属于父工程的。模块一旦创建,所有父工程的资源都可以使用。

工程:类似于班级,用自己的资源;
模块:类似于班级里的学生,可以用班级的公共资源,例如垃圾桶;
父工程之间:子模块天生继承夫工程,可以使用父工程所有的资源。
子模块之间:天生没有任何关系。
父子工程之间不用建立关系,继承关系是先天的,不需要手动创建。
平级之间的引用叫依赖,依赖不是先天的,依赖是需要后天建立的。

jar包和代码没有区别,计算机不能识别Java文件,最终识别的是编译成class文件。
jar包事先把Java文件编译成class文件了。

maven拆分与聚合的三种启动方式

(1)启动父工程:可以直接启动

在这里插入图片描述

(2)启动web工程

必须 先安装依赖包,再启动:因为web工程以来jar包本地仓库没有
在这里插入图片描述
在这里插入图片描述

(3)配置本地tomcat

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/a954553391/article/details/106793045