Maven.拆分与聚合

1.什么是拆分与聚合

我们之前把web层、service、dao层整合在一个工程中,那在下次如果有项目用到相同的代码时,我们又得重新复制粘贴出来,这样即浪费内存又降低了开发的效率。

但maven工具已经给我们提供了一个解决方案。

就是将每个层分开做成模块,然后再将每个层打包放到私服上,这也就是所说的拆分。

我们做项目时候再引用这些包的过程就叫聚合。

而拆分的好处是分工明确,方便维护,提高效率,降低内存空间。

2.拆分

思路

将dao层,service层,web层分别提取到一个个表现上独立的子工程中。

关系

或者我们可以看看idea中的表现:

dao层,service层,web层全部被分为了一个个独立的小模块,且拥有属于自己的main与pom。

但他们都依附于父工程maven-parent下。

且父工程的pom中则拥有子工程的依赖及其版本,子工程是可以从父工程中继承这些依赖的。

那么,这时我们就提出了一个问题:

为什么不在maven_parent定义所有jar包,而是定义版本号呢?

  

其实,问题的答案很简单:

1.为了避免继承父工程过多的依赖

为什么说避免继承父工程过多的依赖,目前的学习阶段中,我们会运用到的依赖数量很少,其内存占用可以说很少。可一旦我们接触大型项目时,动辄1TB,2TB的依赖便会一窝蜂地涌入你的父工程中,难道我们要把这1TB,2TB的依赖通通继承下来吗?

2.方便升级依赖

如果我们把所有的jar包全部存入父类,当我们想要升级或更新版本号时,就需要一个依赖,一个依赖的查找,更改。但只定义版本号的话,我们只需要在父工程中更改版本号即可,更加的方便快捷。

3.聚合

当我们进行过拆分后,且已经写完过main中的代码后,我们势必要将它们再次连接起来,这个过程就叫聚合。

在三层架构中,我们的基础代码,都存储在dao层。

而我们的中专则在service里。

以前我们仅需新建对象,直接调用方法即可使用,但现在它们变成了各个独立的小模块。

这时,我们便可以通过依赖获取了:

同理,web层也是一样

这一步,就将它们连接起来了。

而最后,运行前,我们还有最后一个步骤!

4.插件

在父工程的pom中已经web层的pom中加载tomcat插件:

将两个插件写入后,设置好web层的端口号以及请求路径,就开始将父工程以及三个子工程安装到本地仓库了。

ps:端口号默认是80,当然也可以不写,原因可参考80端口_百度百科 (baidu.com)

通过生命周期的安装指令进行安装,注意是父工程以及三个子工程都要进行安装,缺一不可!

安装顺序:

父工程maven_parent——>子工程dao——>子工程service——>子工程web

安装完成后,双击插件的run选项即可进入运行:

然后就可以到浏览器的网址,进行输入查询:

127.0.0.1:本机端口

8080:指定端口

/maven_web:请求路径

/hello:web层web.xml中的端口号

回车后将会得到一个空白页面,此时再返会Idea的控制台即可看到结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值