# spring boot 模板项目 **Repository Path**: mo_zhenshuang/spring-boot-template-project ## Basic Information - **Project Name**: spring boot 模板项目 - **Description**: spring boot模板项目,用于快速搭建管理平台后端 - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-12-03 - **Last Updated**: 2025-02-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # spring boot 模板项目 ## 介绍 spring boot模板项目,用于快速搭建管理平台后端。 ## 项目依赖服务版本 - JDK 17; - Spring Boot 3.3.2-SNAPSHOT; - MySQL 5.7; - ElasticSearch 8.14.3; - Kibana 8.14.3; - kafka 3.8.0; - knife4j 4.4.0; - mybatis-plus 3.5.7; ## 项目结构说明 ### admin 业务模块,主要实现业务接口的逻辑。 ### async 异步任务,用于处理异步任务,例如:日志处理。 ### common 通用模块,用于封装通用的逻辑,例如:日志的实体,通用响应枚举常量等。 ## 项目规范 ### 数据库表 - 数据库表名与字段名采用下划线命名,例如:user_info; - 数据库业务表有7个字段,分别如下: - id:表id,自增,步进为1; - un_code:业务主键,用于标识业务对象,使用全小写的无符号uuid; - create_time:创建时间,默认为当前时间; - update_time:更新时间,默认为当前时间; - create_by:创建人,默认为当前登录用户名; - update_by:更新人,默认为当前登录用户名; - del_flag:逻辑删除标记,0为未删除,1为已删除,默认为0; ### api路径 api接口路径统一使用/api作为前缀,该配置可以在application.yml中配置。 ### 常量/枚举 常量/枚举统一使用枚举类,避免硬编码,提高代码的可读性,可维护性。常量/枚举的命名规则为:全大写,下划线分割,例如:USER_INFO。常量类名以Constant结尾;枚举类名以Enum结尾。 ### DTO、VO、PO实体的作用 - DTO:用于接收前端请求参数,例如:新增用户,修改用户等;同时也用作各个服务之间传递参数的实体,例如:日志记录的传递参数封装; - VO:用于返回前端需要的参数,例如:分页查询用户列表等; - PO:用于封装数据库表实体,与数据库表字段一一对应; ### 命名规则 详细的命名规则可参考文章:[命名建议(Java)](https://blog.csdn.net/MZS2254399401/article/details/136524004) ## 项目所具备的能力 1. 用户管理,包括用户增删改查功能接口的实现; 2. 字典管理,包括字典类型以及字典值增删改查功能接口的实现。 3. 接口请求日志、审计日志的记录与处理逻辑,采用异步处理,利用Kafka消息队列,实现日志的异步处理,将日志按日期存储到数据库与ES中,实现日志的持久化。 4. API接口文档的实现,使用knife4j,实现接口文档的生成,支持在线调试,支持在线生成接口文档。 5. 异常处理,采用全局异常处理,实现异常的捕获与处理,统一格式化后返回给前端。 6. 过滤器,实现请求参数的校验,例如:用户名不能为空,密码不能为空等。 7. 集成spring security 实现用户认证与授权。 ## 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request ## 联系我 邮箱:think_mzs@qq.com