# springboot3.x-demo **Repository Path**: luckymxp/springboot3.x-demo ## Basic Information - **Project Name**: springboot3.x-demo - **Description**: springboot3.x-demo - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-11 - **Last Updated**: 2026-01-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SpringBoot3.x 微服务示例项目 这是一个基于 SpringBoot 3.x 的微服务示例项目,包含多个服务模块,演示了如何构建和集成微服务应用。 ## 项目结构 - **common-api**: 公共 API 模块,包含通用配置和启动类。 - **consumer-service**: 消费者服务模块,使用 Feign 客户端调用提供者服务。 - **gateway-service**: 网关服务模块,用于路由请求到相应的微服务。 - **provider-service**: 提供者服务模块,提供产品相关的 API 接口。 ## 主要功能 - **消费者服务 (consumer-service)**: - 使用 Feign 客户端调用提供者服务的 API。 - 包含订单创建功能,并使用 Resilience4j 实现断路器、重试和限流机制。 - 支持通过 `/api/orders/{productId}` 创建订单。 - **提供者服务 (provider-service)**: - 提供产品列表和产品详情的 API 接口。 - 支持通过 `/api/products` 获取产品信息。 - **网关服务 (gateway-service)**: - 作为微服务的入口,负责路由请求到相应的服务。 ## 快速开始 ### 环境要求 - Java 17 或更高版本 - Maven 3.8.x - Spring Boot 3.x ### 构建与运行 1. **克隆项目** ```bash git clone https://gitee.com/luckymxp/springboot3.x-demo.git cd springboot3.x-demo ``` 2. **构建项目** ```bash mvn clean install ``` 3. **启动服务** - 启动提供者服务: ```bash cd provider-service mvn spring-boot:run ``` - 启动消费者服务: ```bash cd ../consumer-service mvn spring-boot:run ``` - 启动网关服务: ```bash cd ../gateway-service mvn spring-boot:run ``` 4. **访问 API** - 创建订单: ```bash POST http://localhost:8080/api/orders/1 ``` - 获取产品列表: ```bash GET http://localhost:8080/api/products ``` - 获取产品详情: ```bash GET http://localhost:8080/api/products/1 ``` ## 配置说明 - **消费者服务** 使用 `application.yml` 配置了 Feign 客户端、断路器、重试和限流策略。 - **网关服务** 使用 `application.yml` 配置了路由规则。 - **提供者服务** 使用 `application.yml` 配置了基本的服务信息。 ## 依赖项 - Spring Boot Starter Web - Spring Cloud OpenFeign - Resilience4j (用于断路器、重试和限流) - Spring Boot Configuration Processor ## 许可证 本项目采用 MIT 许可证。详情请参阅 [LICENSE](LICENSE) 文件。