一、分模块设计与开发
- 为什么要分模块设计呢?
当我们开发一个大型项目的时候,项目里面的模块将会非常的多,公司的开发人员都会操作这一个Java项目,项目的维护和管理起来就会非常的困难,又假如我们自己在项目当中定义了一些通用类以及通用的一些组件,别的项目组也想使用这些通用类的话是非常不方便的,因为我们只有一个模块,就会让这些通用组件难以复用。
- 分模块设计
当我们对项目进行分模块设计以后,可以分组来进行模块的开发,这样更加便于项目的管理以及后期的维护,而且分模块设计以后,当我们需要使用另外一个模块功能的时候,直接依赖对应模块的模块就行,比如如下面图片的通用模块。
分模块设计将项目按照功能拆分成若干个子模块,方便项目的管理维护、扩展,也方便模块间的相互调用,资源共享。
注意事项:分模块设计需要先针对模块功能进行设计,再进行编码。不会先将工程开发完毕,然后在进行拆分
二、继承与聚合
- 继承
1.概念:继承描述的是两个工程间的关系,与Java中的继承相似,子工程可以继承父工程中的配置信息,常见与依赖关系的继承。
2.作用:简化依赖配置、统一管理依赖
3.实现:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.3</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
- 版本锁定
在maven中,可以在父工程的pom文件中通过来统一管理依赖版本
注意事项:子工程引入依赖时,无需指定版本好,父工程统一管理。变更依赖版本,只需在父工程中统一变更。
- 版本锁定
自定义属性/引用属性
-
聚合
将多个模块组织成一个整体,同时进行项目的构建。 -
聚合工程
一个不具有业务功能的“空工程”(有且仅有一个pom文件) -
作用
快速构建项目(无需根据依赖关系手动构建,直接在聚合工程上构建即可)
Maven中可以通过设置当前聚合工程所包含的子模块名称
注意事项:聚合工程中所包含的模块,在构建时,会自动根据模块间的依赖关系设置构建顺序,与聚合工程中模块的配置书写位置无关。
三、总结
继承与聚合
- 作用
聚合用于快速构建项目
继承用于简化依赖配置、统一管理依赖 - 相同点
聚合与继承的pom.xml文件打包方式均为pom,可以将两种关系制作到同一个pom文件中
集合与继承均属于设计型模块,并无实际的模块内容 - 不同点
聚合是在聚合工程中配置关系,聚合可以感知到参与聚合的模块有哪些
继承是在子模块中配置关系,父模块无法感知哪些子模块继承自己