分模块设计和开发
策略
1.按照功能模块拆分(适合大型项目)
2.按层拆分(小型项目)
3.按照功能模块+层拆分.(超大型项目)
继承
继承 描述的数俩个工程之间的关系.与java中的继承相似,子工程继承父工程的配置信息,常见于依赖关系的继承. 作用:简化依赖的配置,统一管理依赖,为了让子模块能够继承到父工程的相关信息(坐标、依赖、插件)
实现
<parent>...</parent>
pom:父工程或聚合工程,该模块不写代码,仅进行依赖管理
例子
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.0.2</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
maven中,可以在父工程的pom文件中通过<depencymaanagement>标签来统一管理依赖版本.配合
<properties>使用
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<jjwt.version>0.9.1</jjwt.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>${jjwt.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencyManagement>和<dependencys>的区别?
<dependencys>是直接依赖,在父工程配置了依赖版本,子工程会直接继承下来
<dependencyManagement>是统一管理依赖版本,不会直接依赖,还需要在子工程中引入所需依赖(无需指定版本)
聚合
父工程统一操作,即父工程执行什么,子模块都会执行相同的操作,父工程统一管理子模块的操作
实现
<modules>
<module>boot-tlias-pojo</module>
<module>boot-tlias-utils</module>
</modules>