一、概念简介
1、什么是模块聚合?
当一个项目慢慢变大时,就需要对项目的功能进行拆分,分成独立的几个模块,这个时候就需要用到模块的聚合功能,将独立的几个模块聚合到一个项目中。聚合的主要作用是将解耦的模块进行工业化组装,形成分布式系统应用。
在父模块中声明该项目的所有模块,如下:
<packaging>pom</packaging><!-- 打包类型为pom -->
<modules>
<module>demo-common</module><!-- 公共组件 -->
<module>demo-cms</module><!-- 后台管理系统 -->
<module>demo-sso</module><!-- 单点登录系统 -->
<!-- ...... --><!-- 其他模块 -->
</modules>
在子模块中声明该模块所属的父项目,如下:
<packaging>jar</packaging><!-- 打包方式jar包或者war包,如果不声明默认为jar包,当然也可以为pom,这意味着此模块下面还有子模块 -->
<parent>
<groupId>com.mengfei</groupId><!-- 命名规范:com后面公司名或缩写 -->
<artifactId>demo-parent</artifactId><!-- 命名规范:项目名-模块名 -->
<version>0.0.1-SNAPSHOT</version>
</parent>
2、什么是模块继承?
当系统越来越大,模块越来越多时,配置文件也越来越多,分布在各个模块的配置文件内容如果要修改时就很麻烦,不利于维护,这个时候就需要用到模块的继承功能,统一在父模块中进行通用配置,然后在子模块中继承父模块的配置。继承的主要作用就是方便维护配置文件,同时实现代码重用。在父项目中统一定义依赖的jar包,如下:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>