|
|
|
@ -1,66 +1,106 @@
|
|
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
<!-- 这是 Maven 项目对象模型(POM)配置文件的根元素,声明了 XML 的版本和编码格式,
|
|
|
|
|
同时通过 xmlns 和 xsi:schemaLocation 属性定义了 XML 命名空间以及对应的 XSD 模式文档位置,以遵循 Maven POM 4.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-keygen-service 的模块 -->
|
|
|
|
|
<artifactId>snailmall-keygen-service</artifactId>
|
|
|
|
|
<!-- 当前项目的版本号,这里采用了 0.0.1-SNAPSHOT 这种快照版本形式,SNAPSHOT 意味着这是一个处于开发阶段、不稳定的版本,
|
|
|
|
|
常用于项目开发过程中,后续随着项目的完善和发布,会更新为正式的版本号 -->
|
|
|
|
|
<version>0.0.1-SNAPSHOT</version>
|
|
|
|
|
<!-- 项目的显示名称,主要用于在 Maven 相关的工具界面或者项目管理场景中,让人更直观地识别该项目 -->
|
|
|
|
|
<name>snailmall-keygen-service</name>
|
|
|
|
|
<!-- 对项目的简要描述,清晰地说明了该项目是一个用于生成全局唯一 ID 的服务,并且采用了雪花算法来实现这一功能 -->
|
|
|
|
|
<description>全局唯一ID生产服务-雪花算法</description>
|
|
|
|
|
|
|
|
|
|
<!-- 项目依赖配置部分,在这里列出了项目运行过程中所需要依赖的各种外部库、框架等资源 -->
|
|
|
|
|
<dependencies>
|
|
|
|
|
<!-- 引入 Spring Boot 的基础启动器依赖,它会自动引入一系列 Spring Boot 项目运行所必需的基础组件和配置,
|
|
|
|
|
比如自动配置、日志框架集成等,为构建 Spring Boot 应用提供了基础支撑 -->
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>org.springframework.boot</groupId>
|
|
|
|
|
<artifactId>spring-boot-starter</artifactId>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
|
|
<!-- 引入 Spring Boot 的 Web 启动器依赖,它会自动整合构建 Web 应用所需的关键依赖,
|
|
|
|
|
例如 Spring MVC 框架用于处理 HTTP 请求和响应,内置的 Tomcat 服务器用于接收和处理外部的网络请求等,
|
|
|
|
|
方便开发基于 Spring Boot 的 Web 服务 -->
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>org.springframework.boot</groupId>
|
|
|
|
|
<artifactId>spring-boot-starter-web</artifactId>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
|
|
<!-- 引入 Curator 的 recipes(常用操作配方)依赖,Curator 是用于简化与 Zookeeper 交互的 Java 库,
|
|
|
|
|
recipes 模块提供了一些基于 Curator 核心功能之上的常用分布式应用开发中涉及 Zookeeper 的操作实现,
|
|
|
|
|
比如分布式锁、分布式计数器等功能,方便开发者在分布式系统中借助 Zookeeper 实现相关业务逻辑 -->
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>org.apache.curator</groupId>
|
|
|
|
|
<artifactId>curator-recipes</artifactId>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
|
|
<!-- 引入 Spring Boot 的 Actuator 依赖,Actuator 为 Spring Boot 应用提供了一系列用于监控和管理应用的端点,
|
|
|
|
|
通过这些端点可以查看应用的健康状态、获取运行时的各种指标信息(如内存使用情况、线程信息等),
|
|
|
|
|
还能进行一些配置的动态调整等操作,有助于对应用进行有效的运维管理 -->
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>org.springframework.boot</groupId>
|
|
|
|
|
<artifactId>spring-boot-starter-actuator</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 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>
|
|
|
|
|
|
|
|
|
|
<!-- 引入 Lombok 依赖,Lombok 是一个通过注解来简化 Java 代码编写的工具,
|
|
|
|
|
它可以根据注解自动为类生成构造函数、Getter/Setter 方法、toString 方法等,减少了大量的样板代码,
|
|
|
|
|
让 Java 代码更加简洁易读,提高开发效率 -->
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>org.projectlombok</groupId>
|
|
|
|
|
<artifactId>lombok</artifactId>
|
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
|
|
<!-- 引入 Spring Cloud 的 Eureka 客户端依赖,使得项目可以将自身注册到 Eureka 服务注册中心,
|
|
|
|
|
同时也能从 Eureka 发现其他已注册的服务,这是实现微服务架构中服务发现和注册功能的关键依赖,
|
|
|
|
|
便于微服务之间的相互调用和协作 -->
|
|
|
|
|
<dependency>
|
|
|
|
|
<groupId>org.springframework.cloud</groupId>
|
|
|
|
|
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
|
|
|
|
|
</dependency>
|
|
|
|
|
</dependencies>
|
|
|
|
|
|
|
|
|
|
<!-- 项目构建相关配置部分,用于指定项目在构建过程中的一些设置,比如插件的使用等 -->
|
|
|
|
|
<build>
|
|
|
|
|
<plugins>
|
|
|
|
|
<!-- 引入 Spring Boot 的 Maven 插件,这个插件在项目构建过程中有诸多重要功能,
|
|
|
|
|
例如它可以将项目打包成可执行的 JAR 文件,并且在打包过程中把应用运行所需的依赖、配置信息等都嵌入到 JAR 文件中,
|
|
|
|
|
还能方便地启动 Spring Boot 应用进行本地测试等操作,极大地简化了 Spring Boot 项目的构建和部署流程 -->
|
|
|
|
|
<plugin>
|
|
|
|
|
<groupId>org.springframework.boot</groupId>
|
|
|
|
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
|
|
|
@ -68,4 +108,4 @@
|
|
|
|
|
</plugins>
|
|
|
|
|
</build>
|
|
|
|
|
|
|
|
|
|
</project>
|
|
|
|
|
</project>
|