Skip to content

Stephenqhd30/excuse-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SpringBoot 项目初始模板

作者: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:编写和执行单元测试,提高代码质量和可靠性,保证主要业务逻辑的正确性。

About

借口个人图库后端

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published