第一天商城项目

复盘

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

  1. 这是另一个子键,用于指定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

解释这个配置的各部分:

  1. <parent> 元素:这是用于定义父项目的 XML 元素,它包含了子项目(当前项目)应该继承的父项目信息。

  2. <groupId>:指定了父项目的 Maven Group ID,即org.springframework.boot。这表示父项目属于 Spring Boot 组织。

  3. <artifactId>:指定了父项目的 Maven Artifact ID,即 spring-boot-starter-parent。这表示父项目的标识。

  4. <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

java 复制代码
<!--定义该工程用于管理构建-->
<packaging>pom</packaging>

用 modules 标签来定义当前模块进行构建操作时关联的其他模块名称

java 复制代码
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 标签。

相关推荐
陌小呆^O^几秒前
Cmakelist.txt之win-c-udp-server
c语言·开发语言·udp
计算机毕设指导66 分钟前
基于 SpringBoot 的作业管理系统【附源码】
java·vue.js·spring boot·后端·mysql·spring·intellij-idea
Gu Gu Study7 分钟前
枚举与lambda表达式,枚举实现单例模式为什么是安全的,lambda表达式与函数式接口的小九九~
java·开发语言
Chris _data10 分钟前
二叉树oj题解析
java·数据结构
牙牙70516 分钟前
Centos7安装Jenkins脚本一键部署
java·servlet·jenkins
时光の尘22 分钟前
C语言菜鸟入门·关键字·float以及double的用法
运维·服务器·c语言·开发语言·stm32·单片机·c
paopaokaka_luck23 分钟前
[371]基于springboot的高校实习管理系统
java·spring boot·后端
以后不吃煲仔饭36 分钟前
Java基础夯实——2.7 线程上下文切换
java·开发语言
进阶的架构师37 分钟前
2024年Java面试题及答案整理(1000+面试题附答案解析)
java·开发语言
前端拾光者41 分钟前
利用D3.js实现数据可视化的简单示例
开发语言·javascript·信息可视化