作者:StephenQiu 仅分享于 StephenQiu个人博客
- Spring Boot 2.7.x:简化 Spring 应用开发,提供自动化配置,内置应用服务器,帮助快速构建生产级别的 Spring 应用。
- Spring MVC:用于构建基于 Web 的应用,提供了强大的请求映射和视图处理功能,方便开发 RESTful 接口。
- MyBatis + MyBatis Plus:MyBatis 提供了 SQL 映射框架,支持自定义 SQL,MyBatis Plus 增强了 CRUD 操作并提供分页功能,提高开发效率。
- Spring Boot 调试工具和项目处理器:便于调试应用,简化开发环境配置,提高开发效率。
- Spring AOP:面向切面编程,用于日志记录、性能监控、权限校验等,增强代码的复用性和可维护性。
- Spring Scheduler:提供任务调度功能,用于执行定时任务,如同步数据、清理缓存等。
- Spring 事务注解:确保数据一致性,通过注解的方式管理事务,使代码简洁且易于维护。
- MySQL:关系型数据库,存储核心业务数据,支持复杂查询、事务管理等。
- Redis:内存数据库,用于缓存和加速数据访问,减少数据库压力,提高系统性能。
- Elasticsearch:分布式搜索引擎,用于实现全文搜索和数据分析功能,如快速搜索帖子。
- 腾讯云 COS:对象存储服务,支持图片和文件的存储,便于实现文件上传和分发。
- Easy Excel:简化 Excel 文件的读取和写入操作,适用于导入导出数据的场景。
- Hutool:提供一系列实用工具类,简化开发中的通用操作,如字符串处理、日期时间处理等。
- Apache Commons Lang3:常用的 Java 工具类库,包含各种辅助类和方法,增强 Java 标准库功能。
- Lombok:通过注解自动生成 Getter、Setter、构造器等,减少样板代码,提高开发效率。
- RabbitMQ:消息队列,用于异步任务处理和系统解耦,提高系统的扩展性和性能。
- Redisson:分布式解决方案,增强 Redis 的使用,如分布式锁、延时队列、信号量等,确保数据一致性。
- Caffeine:高性能的本地缓存,提高数据访问速度,减少数据库的访问频率。
- Spring Session Redis:分布式会话管理,实现分布式环境下的用户会话共享,支持分布式登录。
- 全局请求响应拦截器:记录请求和响应日志,便于问题追踪和监控系统性能。
- 全局异常处理器:统一管理异常,提供友好的错误提示,减少代码中的重复异常处理逻辑。
- 自定义错误码:定义统一的错误码管理,提高 API 的可读性,便于前后端沟通。
- 封装通用响应类:统一 API 返回格式,标准化响应数据结构。
- Swagger + Knife4j:生成接口文档,支持在线调试,便于接口管理和测试。
- 自定义权限注解 + 全局校验:通过注解控制权限访问,保证用户的安全性和数据的完整性。
- 全局跨域处理:支持跨域访问,允许不同域名的客户端访问接口,适用于前后端分离的项目。
- 长整数丢失精度解决:解决前端 JSON 解析长整型数字时丢失精度的问题,确保数据的准确性。
- 多环境配置:支持开发、测试、生产等多种环境配置,简化不同环境的切换,提高应用的可移植性。
- 用户管理:实现用户的注册、登录、更新、权限管理等功能,保证用户数据的安全和完整性。
- 帖子管理:实现帖子的创建、编辑、检索、点赞、收藏等操作,支持数据库和 Elasticsearch 检索功能。
- 帖子全量与增量同步:通过定时任务实现 Elasticsearch 的数据同步,确保数据搜索的实时性和准确性。
- 第三方平台集成:支持微信开放平台和微信公众号功能,包括登录、消息订阅、菜单设置等,拓展系统的功能。
- 文件上传:支持多业务文件的上传和存储管理,提高文件处理的灵活性。
- JUnit5:编写和执行单元测试,提高代码质量和可靠性,保证主要业务逻辑的正确性。