pull/4/head
zhouyu 9 months ago
parent 95751b5f2b
commit 275fcb36d9

@ -1,108 +1,163 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- 这是 Maven 项目配置文件pom.xml的根元素声明了 XML 文档的版本及编码格式,
同时通过 xmlns 和 xsi:schemaLocation 属性定义了 XML 命名空间以及对应的 XML 模式文档位置,确保遵循 Maven 项目对象模型POM4.0.0 版本的规范 -->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- 定义 Maven 项目对象模型的版本,这里指定为 4.0.0 版本,该版本规定了整个 pom.xml 文件应遵循的基本结构与语法规则 -->
<modelVersion>4.0.0</modelVersion>
<!-- 配置项目的父级依赖,通过指定父项目的 groupId、artifactId 和 version当前项目能够继承父项目的诸多配置信息
例如依赖管理、插件管理等方面的配置,这样可以减少重复配置工作,保证项目结构的一致性和可维护性 -->
<parent>
<groupId>com.njupt.swg</groupId>
<artifactId>spring-cloud-for-snailmall</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<!-- 当前项目的构件标识符artifactId用于在 Maven 仓库中唯一标识该项目,通常与项目的实际名称相关,
这里表明该项目是名为 snailmall-shipping-service 的模块 -->
<artifactId>snailmall-shipping-service</artifactId>
<!-- 当前项目的版本号,采用了 0.0.1-SNAPSHOT 这种快照版本格式,其中 SNAPSHOT 表示这是一个处于开发阶段、不稳定的版本,
常用于项目开发过程中,后续随着项目的成熟会更新为正式的发布版本号 -->
<version>0.0.1-SNAPSHOT</version>
<!-- 项目的显示名称,方便在 Maven 相关工具或者项目管理场景中直观地对项目进行识别 -->
<name>snailmall-shipping-service</name>
<!-- 项目的简要描述,清晰地说明了该项目是提供收货地址相关功能的服务 -->
<description>收货地址服务</description>
<!-- 项目依赖配置部分,在此处罗列了项目运行所需依赖的各种外部库、框架等资源 -->
<dependencies>
<!-- 引入 Spring Boot 的基础启动器依赖,它会自动引入一系列构建 Spring Boot 应用的基础组件和配置,
比如自动配置机制、日志框架的集成等,为整个 Spring Boot 项目的运行提供了基础支撑 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!--spring cloud相关-->
<!-- spring cloud 相关 -->
<!-- 引入 Spring Boot 的 Web 启动器依赖,它整合了构建 Web 应用所需的关键依赖,例如包含 Spring MVC 框架用于处理 HTTP 请求和响应,
以及内置的 Tomcat 服务器用于接收并处理外部网络请求等,方便开发者基于 Spring Boot 快速搭建 Web 服务 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 引入 Spring Cloud 配置客户端依赖,该依赖使得项目能够作为客户端与 Spring Cloud 配置中心(如 Spring Cloud Config Server进行交互
从而从配置中心获取项目的配置信息,实现配置的集中管理和动态更新,提高了配置的灵活性以及便于统一维护 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-client</artifactId>
</dependency>
<!-- 引入 Spring Cloud 的 Eureka 客户端依赖,借助此依赖,项目可以将自身注册到 Eureka 服务注册中心,
同时也能够从 Eureka 发现其他已注册的服务,这是实现微服务架构中服务发现与注册功能的关键所在,有助于微服务之间相互调用与协作 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<!-- 引入 Spring Cloud Bus 的 AMQP高级消息队列协议依赖Spring Cloud Bus 通过借助消息队列(如 RabbitMQ、Kafka 等)实现微服务之间的事件传播,
常用于配置的动态刷新等场景,基于 AMQP 协议进行消息传递,增强了微服务之间的交互能力 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>
<!-- 引入 Spring Boot 的 Actuator 依赖Actuator 为 Spring Boot 应用提供了一系列用于监控和管理应用的端点,
例如可以通过这些端点查看应用的健康状态、获取运行时的各类指标信息(像内存使用情况、线程信息等),还能进行一些配置的动态调整操作,
对应用的运维管理十分有帮助 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- 引入 Spring Cloud 的 OpenFeign 依赖OpenFeign 是一个声明式的 HTTP 客户端,它简化了微服务之间的 HTTP 接口调用,
开发者只需定义接口并添加相应注解,就能方便地调用其他微服务提供的接口,提高了微服务间通信的便捷性 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<!-- 引入 Spring Cloud Zipkin 依赖Zipkin 用于分布式链路追踪,在微服务架构下,项目集成该依赖后,
能够将应用的请求链路信息发送到 Zipkin 服务端进行收集与分析,这对于排查性能问题、定位故障发生位置等操作非常有帮助 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
<!-- 引入 Lombok 依赖Lombok 是一款通过注解来简化 Java 代码编写的工具它可以根据特定注解自动为类生成构造函数、Getter/Setter 方法、toString 方法等,
能够有效减少大量样板代码,使 Java 代码更加简洁、易读,进而提升开发效率 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!--jackson-->
<!-- jackson -->
<!-- 引入 Jackson 的 mapper 依赖Jackson 是常用的 JSON 处理库,主要用于在 Java 对象和 JSON 格式数据之间进行序列化和反序列化操作,
比如将 Java 对象转换为 JSON 字符串发送给前端,或者将接收到的 JSON 数据解析为 Java 对象,在 Web 开发场景中应用广泛 -->
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
</dependency>
<!--druid-->
<!-- druid -->
<!-- 引入阿里巴巴的 Druid 依赖Druid 是一款性能出色的数据库连接池,除了具备基本的数据库连接管理功能外,
还提供了丰富的监控、统计以及扩展功能,能够更好地管理数据库连接,提升数据库访问的效率与稳定性 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
</dependency>
<!--util-->
<!-- util -->
<!-- 引入 Google 的 Guava 依赖Guava 是一个包含众多实用工具类和集合扩展功能的库,
例如提供了更便捷的字符串处理、集合操作、缓存机制等功能,有助于提高 Java 开发效率,减少开发者重复编写类似功能代码的工作量 -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
<!-- 引入 Apache Commons Lang3 依赖,它提供了大量针对 Java 基本类型、字符串、数组等操作的实用工具方法,
比如字符串的判空、格式化,数组的拷贝、填充等功能,能够补充 Java 标准库中部分功能的不足,方便在日常开发中使用 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
<!-- 引入 Commons Collections 依赖,它提供了一系列扩展的集合类以及集合相关的工具方法,
例如各种特殊的集合实现(如不可变集合、多值映射等)以及针对集合进行操作的便捷方法,丰富了 Java 集合框架的功能 -->
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
</dependency>
<!--MYSQL-->
<!-- MYSQL -->
<!-- 引入 MySQL 的 JDBC 驱动依赖,用于在 Java 项目中建立与 MySQL 数据库的连接,使得项目可以依据 JDBC 规范与 MySQL 数据库进行交互,
进而执行 SQL 语句,实现数据的持久化操作,例如查询、插入、更新以及删除数据库中的数据等 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--mybatis-->
<!-- mybatis -->
<!-- 引入 MyBatis 与 Spring Boot 集成的启动器依赖MyBatis 是一款优秀的持久层框架,
通过此启动器,开发者能够方便地在 Spring Boot 项目中使用 MyBatis 进行数据库访问操作,结合 XML 配置文件或者注解来编写 SQL 语句,实现数据的持久化功能 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
</dependency>
<!--jedis-->
<!-- jedis -->
<!-- 引入 Jedis 依赖Jedis 是 Redis 的 Java 客户端库,借助它可以在 Java 项目中与 Redis 缓存数据库进行交互,
比如向 Redis 中存储数据、获取数据以及执行 Redis 支持的各种命令等操作,从而实现缓存功能或者其他基于 Redis 的业务逻辑 -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
<!--joda time-->
<!-- joda time -->
<!-- 引入 Joda-Time 依赖Joda-Time 是一个处理日期和时间的强大库,它提供了比 Java 标准库更为方便、灵活的日期时间操作方法,
例如日期的格式化、解析以及计算时间间隔等功能,在涉及复杂日期时间处理的业务场景中非常实用 -->
<dependency>
<groupId>joda-time</groupId>
<groupId>joda-time</artifactId>
<artifactId>joda-time</artifactId>
</dependency>
<!--分页-->
<!-- 分页 -->
<!-- 引入 PageHelper 依赖PageHelper 是一款常用的 MyBatis 分页插件,它能够方便地在 MyBatis 进行数据库查询时实现分页功能,
只需简单配置和调用相关 API就能轻松获取分页数据简化了分页查询的开发难度 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
</dependency>
<!-- 引入 MyBatis Paginator 依赖,它同样是用于在 MyBatis 中实现分页功能的工具,提供了另一种分页相关的实现方式和功能扩展,
可以根据具体项目需求选择使用,与其他分页插件配合使用时也能满足更复杂的分页场景 -->
<dependency>
<groupId>com.github.miemiedev</groupId>
<artifactId>mybatis-paginator</artifactId>
</dependency>
<!-- 引入 JSqlParser 依赖JSqlParser 是一个 SQL 解析器库,可用于解析、修改和分析 SQL 语句,
在一些需要对 SQL 语句进行动态处理、验证或者优化的场景中会发挥作用,比如根据不同条件动态拼接 SQL 等情况 -->
<dependency>
<groupId>com.github.jsqlparser</groupId>
<artifactId>jsqlparser</artifactId>
@ -110,8 +165,11 @@
</dependencies>
<!-- 项目构建相关配置部分,用于指定项目在构建过程中的一些设置,例如资源文件的处理方式以及插件的使用等 -->
<build>
<!--编译xml文件-->
<!-- 编译 xml 文件 -->
<!-- 配置项目的资源文件,这里指定在编译项目时,会将 src/main/java 目录下的所有 xml 文件也作为资源文件进行处理,
通常这些 xml 文件可能是 MyBatis 的 Mapper 配置文件等,确保它们在构建过程中能够被正确打包并使用 -->
<resources>
<resource>
<directory>src/main/java</directory>
@ -121,6 +179,9 @@
</resource>
</resources>
<plugins>
<!-- 引入 Spring Boot 的 Maven 插件,该插件在项目构建过程中有诸多重要功能,
例如它能够将项目打包成可执行的 JAR 文件,并且在打包过程中把应用运行所需的依赖、配置信息等一并嵌入到 JAR 文件内,
同时还方便启动 Spring Boot 应用进行本地测试等操作,极大地简化了 Spring Boot 项目的构建和部署流程 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
@ -128,4 +189,4 @@
</plugins>
</build>
</project>
</project>
Loading…
Cancel
Save