复盘
1.maven高级部分聚合和继承
maven聚合工程(深度剖析)_一宿君的博客-CSDN博客
2.yml配置文件 mybatis
mybatis: mapper-locations: classpath:mappers/*mapper.xml
mapper-locations
:这是一个子键,用于指定MyBatis映射文件(Mapper XML文件)的位置。在这里,classpath:mappers/*mapper.xml
表示MyBatis应该在类路径下寻找所有以"mapper.xml"结尾的文件。这些XML文件通常包含SQL映射,定义了如何将Java对象映射到数据库表,以及SQL查询语句等。
type-aliases-package: com.hu.pojo
这是另一个子键,用于指定MyBatis的类型别名包(Type Aliases Package)。在这里,
com.hu.pojo
表示MyBatis将扫描这个包中的Java类,并将它们注册为MyBatis的类型别名。这样,你可以在映射文件中使用这些类型别名来引用Java类,而无需使用完全限定的类名。例如,如果在
com.hu.pojo
包中有一个名为User
的Java类,你可以在映射文件中使用User
作为别名,而不必写完整的类路径,如com.hu.pojo.User
。
3.@MapperScan
@MapperScan
是 MyBatis Spring Boot 的注解,它用于指定 MyBatis 映射接口的扫描路径,以便 Spring Boot 能够自动创建这些接口的实也可以在mapp层加个@mapper
4.spring-boot-starter-parent
这是一个 Maven 项目的父项目(Parent POM)配置,它定义了当前项目所继承的父项目,通常用于继承一些共享的配置和依赖。在这个例子中,父项目指定的是Spring Boot Starter Paren
解释这个配置的各部分:
<parent>
元素:这是用于定义父项目的 XML 元素,它包含了子项目(当前项目)应该继承的父项目信息。
<groupId>
:指定了父项目的 Maven Group ID,即org.springframework.boot
。这表示父项目属于 Spring Boot 组织。
<artifactId>
:指定了父项目的 Maven Artifact ID,即spring-boot-starter-parent
。这表示父项目的标识。
<version>
:指定了父项目的版本,即2.7.15
。这表示当前项目将继承 Spring Boot Starter Parent 版本2.7.15的配置和依赖。通过继承 Spring Boot Starter Parent,你的项目可以受益于 Spring Boot 团队提供的一些共享
spring-boot-starter-parent 是 Spring Boot 提供的一个 Maven 父项目,它提供了一些默认的配置和依赖管理,可以让我们更方便地进行 Spring Boot 项目的开发。
1.聚合
聚合:聚合用于快速构建maven工程,一次性构建多个项目/模块。
创建一个空模块,pom.xml文件里添加打包类型为pom
<!--定义该工程用于管理构建-->
<packaging>pom</packaging>
用 modules 标签来定义当前模块进行构建操作时关联的其他模块名称
modules>
<module>API</module>
<module>beans</module>
<module>mappers</module>
<module>service</module>
<module>API</module>
<module>common</module>
</modules>
创建聚合工程的要点
1.该聚合项目(父级项目、顶级项目)本身也是一个maven项目,它必须有自己的pom
2.它的打包方式必须是:pom
3.引入新的元素:modules—module(模块:每个模块其实也是一个项目)
4.版本:聚合模块的版本要和被聚合模块的版本一致
5.relative path:每个module名称都是一个当前pom的相对目录
6.目录名称:为了方便快速定位,模块所处的目录应当与其artifactId一致(maven约定而不是硬性要求),总之,模块所处的目录必须要和聚合模块中的模块目录保持一致。
7.聚合模块减少的内容:聚合模块的内容仅仅是一个pom.xml文件,它不包含src/main/java和src/test/java等目录,因为他只是用来将其他模块整合构建成一个整体的工具,本身并没有实质的内容。
8.聚合模块和子模块的目录:它们可以是父子级,也可以是平行结构(推荐)。默认是父子级结构,但是不建议使用,因为父子级是一种嵌套关系,子模块要建在父模块里面,维护起来很容易紊乱;推荐使用平行结构,是因为维护起来一目了然,条理比较清晰,当然同时要在pom文件的中修改相应的目录路径配置。
9.如果聚合模块对某一个子模块进行了删除操作,那么一定要在聚合模块的pom.xml文件中的modules选项中将对应的子模块删除掉。
2.继承
不同的模块不同人开发的时候,可能使用的资源版本不同,当整合到一起的时候可能会出现兼容上的问题。所以需要有个总的管理模块,在总的模块中去规定使用资源的版本
需要注意的是,添加依赖的时候 ,需要在声明依赖管理,声明的方法是需要在dependencies 标签外添加 dependencyManagement 标签。