# springboot-demo **Repository Path**: verlet/springboot-demo ## Basic Information - **Project Name**: springboot-demo - **Description**: 基于springboot3 环境搭建的Demo - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 1 - **Created**: 2020-04-09 - **Last Updated**: 2026-07-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Spring Boot Demo 基于 Spring Boot 的综合示例项目,集成了多种常用技术和框架。 ## 技术栈 | 技术 | 版本 | 说明 | |------|------|------| | Spring Boot | 3.5.16 | 基础框架 | | Java | 21 | JDK 版本 | | Undertow | 3.1.x | Web 容器 | | Netty | 4.1.x | 网络框架 | | Disruptor | 4.0.0 | 高性能队列 | | RabbitMQ | - | 消息队列 | | Redis | - | 缓存 | | Lombok | 1.18.x | 代码简化 | | Hutool | 5.8.46 | 工具库 | ## 项目结构 ``` src/main/java/com/verlet/springbootdemo/ ├── annotation/ # 自定义注解 ├── aop/ # AOP 切面 ├── common/ # 公共类 ├── config/ # 配置类 ├── controller/ # 控制器 ├── entity/ # 实体类 ├── exception/ # 异常处理 ├── filter/ # 过滤器 ├── handler/ # 处理器 ├── service/ # 服务层 ├── spi/ # SPI 机制示例 ├── sse/ # Server-Sent Events ├── util/ # 工具类 └── simple/ # 示例模块 ├── nettyrpc/ # Netty RPC 框架 ├── disruptor/ # Disruptor + Netty ├── rabbitmq/ # RabbitMQ 消息队列 └── elasticsearch/ # Elasticsearch ``` ## 主要功能 ### 1. Filter 和 Interceptor 使用 自定义过滤器和拦截器的实现示例。 ### 2. Netty 实现 RPC 的整合 自研的轻量级 RPC 框架,基于 Netty 实现。 **路径:** [com.verlet.springbootdemo.simple.nettyrpc](./src/main/java/com/verlet/springbootdemo/simple/nettyrpc) **特性:** - 自定义协议和编解码器 - 服务端异常信息客户端感知 - 注解驱动的服务扫描 ### 3. SpringBoot 和 RabbitMQ 整合 完整的 RabbitMQ 消息队列集成。 **路径:** [com.verlet.springbootdemo.simple.rabbitmq](./src/main/java/com/verlet/springbootdemo/simple/rabbitmq) **配置:** - 发布确认机制(publisher-confirm-type: correlated) - 手动确认模式 - 消息转换器 ### 4. Disruptor 和 Netty 的整合 高性能消息处理,结合 Disruptor 的环形缓冲区和 Netty 的网络能力。 **路径:** [com.verlet.springbootdemo.simple.disruptor.netty](./src/main/java/com/verlet/springbootdemo/simple/disruptor/netty) **架构:** ``` Netty Handler → RingBuffer → BatchEventProcessor(多消费者并行处理) ``` ### 5. Redis 集成 Redis 缓存集成,支持集群模式。 **配置:** Lettuce 连接池 + 自定义序列化器 ### 6. SSE (Server-Sent Events) 服务端推送技术实现实时数据传输。 ### 7. 自定义注解与 AOP - `@CurrentUser` - 自动注入当前用户 - `@IgnoreAuth` - 跳过认证 - `@Resubmit` - 防止重复提交 ## 快速开始 ### 环境要求 - JDK 21+ - Maven 3.6+ - RabbitMQ(可选) - Redis(可选) ### 构建运行 ```bash # 编译 mvn clean compile # 运行 mvn spring-boot:run # 打包 mvn clean package ``` ### 配置文件 ``` src/main/resources/config/ ├── application.yml # 主配置 ├── application-dev.yml # 开发环境 ├── application-test.yml # 测试环境 ├── application-prod.yml # 生产环境 ├── application-redis.yml # Redis 配置 └── application-rabbitmq.yml # RabbitMQ 配置 ``` ## 依赖升级记录 | 日期 | 依赖 | 旧版本 | 新版本 | |------|------|--------|--------| | 2026-07 | Spring Boot | 3.1.1 | 3.5.16 | | 2026-07 | Disruptor | 3.4.4 | 4.0.0 | | 2026-07 | Hutool | 5.8.22 | 5.8.46 | | 2026-07 | JBoss Marshalling | 2.1.2.Final | 2.3.0 |