You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tet/snailmall-user-service/pom.xml

186 lines
12 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<?xml version="1.0" encoding="UTF-8"?>
<!-- 这是 Maven 项目配置文件pom.xml的根元素声明了 XML 文档的版本和编码格式,
同时通过 xmlns 属性定义了一系列 XML 命名空间相关的配置,用于遵循 Maven 项目对象模型POM的规范 -->
<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-user-service 的模块 -->
<artifactId>snailmall-user-service</artifactId>
<!-- 当前项目的版本号,同样采用了 0.0.1-SNAPSHOT 这个快照版本SNAPSHOT 表示这是一个开发过程中的不稳定版本,
常用于项目开发阶段,后续随着项目的迭代会更新为正式的发布版本号 -->
<version>0.0.1-SNAPSHOT</version>
<!-- 项目的显示名称,方便在 Maven 相关的工具或者项目管理中直观地识别该项目 -->
<name>snailmall-user-service</name>
<!-- 项目的简要描述,用于说明项目的大致用途或者功能,这里描述为用于 Spring Boot 的示例项目 -->
<description>Demo project for Spring Boot</description>
<!-- 项目依赖配置部分,在这里列出了项目运行所需要依赖的各种外部库、框架等资源 -->
<dependencies>
<!-- spring cloud 相关 -->
<!-- 引入 Spring Boot 的 web 启动器依赖,它会自动引入一系列构建 Web 应用所需要的基础依赖,
比如 Spring MVC、内置的 Tomcat 服务器等,方便开发基于 Spring Boot 的 Web 服务 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 引入 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 Cloud Zipkin 依赖Zipkin 用于分布式链路追踪,通过在项目中集成该依赖,
可以将应用的请求链路信息发送到 Zipkin 服务端进行收集和分析,方便排查微服务架构下的性能问题、故障定位等 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
<!-- 引入 Spring Boot 的 Actuator 依赖Actuator 提供了一系列用于监控和管理 Spring Boot 应用的端点,
比如查看应用的健康状态、获取运行时的各种指标信息、进行一些配置的动态调整等功能,方便对应用进行运维管理 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- 引入 Lombok 依赖Lombok 是一个通过注解来简化 Java 代码编写的工具,
例如可以通过注解自动生成构造函数、Getter/Setter 方法、toString 方法等,减少了大量的样板代码,提高代码的简洁性 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!-- 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 是一款性能优秀的数据库连接池,除了基本的连接管理功能外,
还提供了丰富的监控、统计、扩展等功能,能够更好地管理数据库连接,提升数据库访问的效率和稳定性 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
</dependency>
<!-- 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 的 JDBC 驱动依赖,用于在 Java 项目中建立与 MySQL 数据库的连接,使得项目能够通过 JDBC 规范与 MySQL 数据库进行交互,
执行 SQL 语句,实现数据的持久化操作,如查询、插入、更新和删除数据等 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- 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 是 Redis 的 Java 客户端库,用于在 Java 项目中与 Redis 缓存数据库进行交互,
比如向 Redis 中存储数据、获取数据、执行 Redis 支持的各种命令等,实现缓存功能或者其他基于 Redis 的业务逻辑 -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
<!-- joda time -->
<!-- 引入 Joda-Time 依赖Joda-Time 是一个处理日期和时间的强大库,提供了比 Java 标准库中更方便、灵活的日期时间操作方法,
例如日期的格式化、解析、计算时间间隔等功能,在涉及到复杂的日期时间处理业务场景中很实用 -->
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
</dependency>
<!-- curator -->
<!-- 引入 Curator 框架的核心依赖Curator 是用于简化与 Zookeeper 交互的 Java 库,
在分布式系统中Zookeeper 常用于服务注册与发现、分布式锁、配置管理等场景Curator 提供了更高级、易用的 API 来操作 Zookeeper -->
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
</dependency>
<!-- 引入 Curator 框架的recipes常用操作配方依赖它基于 Curator 框架的核心功能,提供了一些更常用、便捷的分布式应用开发中涉及到 Zookeeper 的操作实现,
比如分布式锁、分布式计数器等功能的具体实现,方便开发者快速构建分布式相关的业务逻辑 -->
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
</dependency>
<!-- 引入 Springfox Swagger2 依赖,用于在项目中集成 Swagger2 API 文档生成工具,
通过在代码中添加相关注解Swagger2 可以自动生成美观、详细且易于交互的 API 文档,方便前后端开发人员进行接口对接、测试以及 API 的使用说明 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
</dependency>
<!-- 引入 Springfox Swagger UI 依赖,它提供了一个可视化的界面,基于 Swagger2 生成的 API 文档数据,
可以在浏览器中方便地查看和交互 API 接口信息,更直观地展示 API 的请求参数、返回结果等内容 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
</dependency>
</dependencies>
<!-- 项目构建相关配置部分,用于指定项目在构建过程中的一些设置,比如资源文件的处理、插件的使用等 -->
<build>
<!-- 编译 xml 文件 -->
<!-- 配置项目的资源文件,这里指定了在编译项目时,会将 src/main/java 目录下的所有 xml 文件也作为资源文件进行处理,
通常这些 xml 文件可能是 MyBatis 的 Mapper 配置文件等,确保它们在构建过程中能被正确打包和使用 -->
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
<plugins>
<!-- 引入 Spring Boot 的 Maven 插件,这个插件在项目构建过程中有很多重要作用,
比如可以将项目打包成可执行的 JAR 文件,并且在 JAR 文件中嵌入了应用运行所需的依赖、配置信息等,
还能方便地启动 Spring Boot 应用进行本地测试等 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>