Maven的聚合与继承DEMO(以及前后端分离)

   日期:2020-05-19     浏览:116    评论:0    
核心提示:讲解maven的聚合、集成的概念,实现demo, 并简单提供前后端分离的思想,以及实现方式。前端

目录

 

目录

前言:

实现一个聚合项目:

1、创建p项目

2、修改packaging类型为pom

3、添加业务核心a项目(作为后端)

4、添加web项目。作为前端的开发。

5、整体项目大纲

6、b项目引入a依赖。

7、a项目的开发与单元测试

8、拓展

源码:

前言:

当一个独立的maven项目不断扩大,我们会增加人手,并将项目按模块或者按层次进行划分,由不同的人进行负责相应的模块或者层次。这里就需要对项目进行拆分,拆分之后又需要一个可以一次构建所有拆分项目的“总项目”。 那么,总项目就是聚合了所有子项目的家伙,这就是聚合的概念。

当一个公司从原先的一个项目,扩展到了多个项目,开始有了多个团队,A团队负责A项目,B团队负责B项目。每个项目技术负责人虽然使用相同的Java技术与框架,但可能各自使用了不同的版本。甚至说使用了Java技术的不同框架。那么对于公司方面来说,整体的维护和管理是很不方便的。 如果有那么一个标准,类似于Java中的超类概念,每个项目团队的项目就是这个超类的子类实现,子类使用超类规定的方法并可以有自己的拓展。 那么从整体来讲,这样就不会那么混乱。 这就是继承的概念。(当然继承的好处不止这么一点。)

maven作为依赖管理的工具,同样提供了这样的功能,就是pom的继承。公司提供标准的pom,规定了Spring使用的版本,以及相关的依赖版本,并且有公司的技术大牛负责处理各个依赖的版本冲突问题。每个项目组的项目只要继承这个大牛pom,不需要关系依赖版本,冲突等问题,从而专注以业务开发。(其实SpringBoot就是免费的大牛pom,而且还不仅仅提供了pom)

 

实现一个聚合项目:

聚合其实是可以和继承分开使用的, 但如果说,他们聚合在一起,a模块使用4.0.0版本的Spring,b模块使用5.0.0版本的Spring,那么这就会产生很多意想不到的冲突和事件。

所以,常常来说,聚合会与继承一起使用。 那么接下来,我简单演示一下使用Eclipse快速搭建一个聚合项目

  1. p 父项目 (聚合)
  2. a 业务核心
  3. b 系统web

1、创建p项目

 

2、修改packaging类型为pom

(这个项目作为被集成和聚合任务,不需要有自己的业务代码。)

3、添加业务核心a项目(作为后端)

选中p项目,点击new,添加一个Maven Module

4、添加web项目。作为前端的开发。

其他的操作一样,maven骨架选择webapp。

 

5、整体项目大纲

这样我们就可以单独的构建a b 以及 整体的构建p。

6、b项目引入a依赖。

b作为前端,需要与后端核心代码进行交互,即需要引入a依赖

对于前端开发来说, 他只需要下载b,进行开发,如果后端提供了新版本,前端只需要修改version即可捕获,又或者使用SNAPSHOT,每次更新最新的a项目代码。

7、a项目的开发与单元测试

对于普通的小公司来说,他们的后端开发都是通过web页面进行测试代码的正确性的,其实这样并不高效。应该使用单元测试

若引入了单元测试,作为后端开发,a项目无需引入b,只要完成业务逻辑,实现单元测试,完成代码覆盖。那么后端就与前端分离了。

 

8、拓展

a的后端还可以进行拆分,具体的可以根据业务的需求,项目的分工进行,此处不再赘述。

 

源码:

https://github.com/bof-jangle/p

ssm项目结构+前端交互 的webapp 源码:

https://github.com/bof-jangle/p_webapp

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
更多>相关资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服