# Java-Trial **Repository Path**: liyongde/java-trial ## Basic Information - **Project Name**: Java-Trial - **Description**: spring-demo、Java-demo等案例代码 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 6 - **Forks**: 2 - **Created**: 2025-12-28 - **Last Updated**: 2026-03-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
# ☕ Spring-Trial 学习与试验 Java / Spring / Spring Boot 及相关中间件与网络框架的代码仓库。 [![Language](https://img.shields.io/badge/Language-Java-orange)](./) [![Build](https://img.shields.io/badge/Build-Maven-blue)](./pom.xml) [![Status](https://img.shields.io/badge/Status-Learning%20in%20progress-success)](./)
## 📌 仓库目标 - **沉淀可复用 Demo**:每个试验尽量做到可运行、可回顾、可扩展 - **记录学习路径**:配套文章/笔记,方便回溯 - **逐步工程化**:从“能跑”到“更规范”(测试、结构、配置、文档) ## 🧪 Demo 列表 - **Trial1-RocketMQ**:RocketMQ 相关试验(生产/消费、批量消息、顺序消息、事务消息等) - **Trial2-Netty**:Netty 相关试验(BIO/NIO/AIO 网络通信、处理链路等) - **Trial3-Mock-Design**:Mock 系统设计试验(Spring Boot + 持久化 + 缓存 + 集成测试等) - **Trial4-AsyncTool**:京东 AsyncTool 异步编排框架试验(商品详情页并行任务编排等) - **Trial5-api-security**:API 接口加密传输方案(RSA + AES-GCM 混合加密、防重放攻击、前后端加密通信等) - **Trial6-InfluxDB**:InfluxDB 时序数据库试验(2.x 版本集成、时序数据存储与查询等) - **Trial7-Design-Patterns**:设计模式实践试验(23种经典设计模式的 Java 实现与应用场景) - **Trial8-Spring-Event**:Spring 事件机制试验(事件发布订阅、异步事件处理、业务解耦等) > 说明:各 Demo 目录一般包含独立的 `pom.xml`,可单独构建与运行。 ## 🚀 快速开始 ### 环境要求 - **JDK**:建议 17+(若子模块有不同要求,以子模块 README 为准) - **Maven**:3.8+ - **IDE**:推荐 IntelliJ IDEA 或 Eclipse ### 构建 在仓库根目录: ```bash # 构建所有模块 mvn clean compile # 跳过测试打包 mvn -q -DskipTests package # 运行测试 mvn test ``` 或进入某个子模块单独构建,例如: ```bash cd Trial3-Mock-Design mvn clean test cd Trial6-InfluxDB/Trial6-InfluxDB2.x-Demo mvn spring-boot:run ``` ### 快速体验 选择感兴趣的项目快速运行: ```bash # 1. RocketMQ 示例(需要先启动 RocketMQ 服务) cd Trial1-RocketMQ/Trial1-RocketMQ-Demo1 mvn spring-boot:run # 2. Netty 网络通信示例 cd Trial2-Netty/Trial2-Netty-Demo01 # 先运行服务端 mvn exec:java -Dexec.mainClass="com.storm.netty.server.NettyServer" # 再运行客户端 mvn exec:java -Dexec.mainClass="com.storm.netty.client.NettyClient" # 3. Mock 系统(内嵌 H2 数据库,开箱即用) cd Trial3-Mock-Design mvn spring-boot:run # 访问 http://localhost:8080 # 4. Spring 事件机制示例 cd Trial8-Spring-Event/Trial-8-Spring-Event-Demo mvn spring-boot:run # 访问 http://localhost:8080 ``` ## 🧭 推荐阅读顺序 ### 基础入门 1. **Trial2-Netty** - 了解网络与事件驱动模型 2. **Trial1-RocketMQ** - 熟悉消息队列基本使用 3. **Trial8-Spring-Event** - 掌握 Spring 事件机制与业务解耦 ### 进阶应用 4. **Trial4-AsyncTool** - 学习异步任务编排与并行处理 5. **Trial5-api-security** - 掌握 API 接口加密与安全防护 6. **Trial6-InfluxDB** - 掌握时序数据库的使用与集成 ### 工程实践 7. **Trial3-Mock-Design** - 体验更完整的工程化与设计拆分 8. **Trial7-Design-Patterns** - 学习设计模式在实际项目中的应用 ## 🗂️ 目录结构 ```text java-trial/ ├─ Trial1-RocketMQ/ # RocketMQ 相关试验 │ ├─ Trial1-RocketMQ-Demo0/ # 原生 API 示例 │ └─ Trial1-RocketMQ-Demo1/ # Spring Boot 集成示例 ├─ Trial2-Netty/ # Netty 相关试验 │ ├─ Trial2-Netty-Base/ # BIO/NIO/AIO 基础示例 │ └─ Trial2-Netty-Demo01/ # Netty 客户端/服务端示例 ├─ Trial3-Mock-Design/ # Mock 系统设计试验(Spring Boot) ├─ Trial4-AsyncTool/ # AsyncTool 异步编排框架试验 │ └─ Trial4-AsyncTool-Demo/ # 商品详情页并行任务编排示例 ├─ Trial5-api-security/ # API 接口加密传输方案 │ └─ Trial5-api-security-demo/ # RSA + AES-GCM 混合加密示例 ├─ Trial6-InfluxDB/ # InfluxDB 时序数据库试验 │ └─ Trial6-InfluxDB2.x-Demo/ # InfluxDB 2.x 版本集成示例 ├─ Trial7-Design-Patterns/ # 设计模式实践试验 └─ Trial8-Spring-Event/ # Spring 事件机制试验 └─ Trial-8-Spring-Event-Demo/ # 事件发布订阅示例 ``` ## ✨ 特性亮点 ### 🎯 实用性导向 - 每个 Demo 都基于真实业务场景设计 - 提供完整的运行示例和测试用例 - 包含详细的代码注释和文档说明 ### 🏗️ 架构规范 - 遵循 DDD(领域驱动设计)分层架构 - 采用 Spring Boot 最佳实践 - 集成常用中间件和工具 ### 🧪 测试完备 - 单元测试覆盖核心逻辑 - 集成测试验证完整流程 - 性能测试评估系统表现 ### � 文档齐全 - 每个项目都有独立的 README - 提供 API 文档和使用说明 - 配套技术文章和学习笔记 ## ❓ 常见问题
Q: 如何选择适合的 Demo 开始学习? **A:** 建议按照以下路径: - **Java 基础**:从 Trial2-Netty 开始,了解网络编程 - **Spring 入门**:选择 Trial8-Spring-Event,学习事件机制 - **中间件实践**:Trial1-RocketMQ 或 Trial6-InfluxDB - **系统设计**:Trial3-Mock-Design,体验完整的工程化实践
Q: 运行某个 Demo 时遇到依赖问题怎么办? **A:** 1. 确保 JDK 版本符合要求(建议 17+) 2. 检查 Maven 配置和网络连接 3. 查看对应项目的 README 文件中的特殊要求 4. 某些项目需要外部服务(如 RocketMQ、InfluxDB),请先启动相关服务
Q: 可以在生产环境使用这些代码吗? **A:** 这些 Demo 主要用于学习和试验,生产使用前请: 1. 根据实际业务需求进行调整 2. 完善错误处理和监控 3. 进行充分的测试和性能调优 4. 遵循公司的代码规范和安全要求
## 📚 文章与笔记 - 掘金主页:`https://juejin.cn/user/2502950820787672/posts` ## 📋 各项目详情 | 项目 | 技术栈 | 状态 | 说明 | |------|--------|------|------| | Trial1-RocketMQ | RocketMQ, Spring Boot | ✅ 完成 | 消息队列基础与高级特性 | | Trial2-Netty | Netty, NIO | ✅ 完成 | 网络编程模型对比 | | Trial3-Mock-Design | Spring Boot, MyBatis-Plus, H2 | ✅ 完成 | DDD 架构设计实践 | | Trial4-AsyncTool | AsyncTool, Spring Boot | ✅ 完成 | 异步任务编排框架 | | Trial5-api-security | RSA, AES, Spring Boot | ✅ 完成 | API 加密传输方案 | | Trial6-InfluxDB | InfluxDB 2.x, Spring Boot | ✅ 完成 | 时序数据库集成 | | Trial7-Design-Patterns | Java, 设计模式 | 🚧 进行中 | 23种经典设计模式实现 | | Trial8-Spring-Event | Spring Event, Spring Boot | ✅ 完成 | 事件驱动架构实践 | ## 🤝 贡献与反馈 ### 欢迎贡献 - 🐛 **Bug 修复**:发现问题请提 Issue 或直接 PR - 📝 **文档完善**:改进 README、注释或添加使用说明 - ✨ **功能增强**:优化现有代码或添加新特性 - 🧪 **测试补充**:增加测试用例提高代码质量 ### 提交规范 ```bash # 提交格式 git commit -m "type(scope): description" # 示例 git commit -m "feat(trial3): add cache configuration" git commit -m "fix(trial1): resolve message consumption issue" git commit -m "docs(readme): update installation guide" ``` ### 需要帮助? - 如果你希望我把某个 Demo 的 **运行步骤**、**接口说明**、**架构图** 也补齐,告诉我对应目录即可 - 遇到问题可以提 Issue,我会尽快回复 - 欢迎在 Issues 中提出新的 Demo 建议 ### 联系方式 - 📧 Email: [你的邮箱] - 💬 微信: [你的微信号] - 🔗 掘金: https://juejin.cn/user/2502950820787672/posts ---
**⭐ 如果这个项目对你有帮助,请给个 Star 支持一下!** Made with ❤️ by [Storm]