# springboot-init-old **Repository Path**: zx162/springboot-init-old ## Basic Information - **Project Name**: springboot-init-old - **Description**: springboot-init 初始化模板(老) - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-01-23 - **Last Updated**: 2024-12-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SpringBoot 项目初始模板 Java SpringBoot 项目初始模板,整合了常用框架和示例代码,大家可以在此基础上快速开发自己的项目。 ## 模板功能 - Spring Boot 2.7.0(贼新) - Spring MVC - MySQL 驱动 - MyBatis - MyBatis Plus - Spring Session Redis 分布式登录 - Spring AOP - Apache Commons Lang3 工具类 - Lombok 注解 - Swagger + Knife4j 接口文档 - Spring Boot 调试工具和项目处理器 - 全局请求响应拦截器(记录日志) - 全局异常处理器 - 自定义错误码 - 封装通用响应类 - 示例用户注册、登录、搜索功能 - 示例单元测试类 - 示例 SQL(用户表) 访问 localhost:7529/api/doc.html 就能在线调试接口了,不需要前端配合啦~ ## 具体介绍 ## Springboot-init-old-master #### 1. annotation 包 **`AuthCheck`**: > 权限校验注解类 > > anyRole:有任何一个角色 > > mustRole:必须要有某个角色 #### 2. aop 包 **`AuthInterceptor`**: > 权限校验 AOP 类 > > 权限校验执行拦截的具体方法: > > 在调用注解的地方自动使用 @Around AOP 切面环绕,将 authCheck 中的值传入进行判断是否有对应权限访问接口 **`LogInterceptor`**: > 请求响应日志 AOP 类 > > 请求响应执行拦截的具体方法: > > - 使用 @Around 注解将 controller 中的方法全部扫描; > - 获取请求路径 > - 生成请求唯一 id > - 获取请求参数 > - 将上面获取的数据进行输出,输出请求日志 > - 打印完日志后执行原有方法 > - 输入响应日志(打印日志 → 执行原方法的所用时间、请求调用者的 id) #### 3. common 包(公共方法) **`BaseResponse`**: > 通用返回类 > > 利用重载方法进行 BaseResponse 方法的不同参数返回调用 **`DeleteRequest`**: > 删除请求实体类 > > 提供 id 进行删除封装 **`ErrorCode`**: > 错误码枚举类 > > 定义了一系列错误类型及其对应的 code 码和 message 错误描述 **`PageRequest`**: > 分页请求封装类 > > 定义了分页请求需要传入的字段: > > 当前页号、页面大小、排序字段、排序顺序(默认升序) **`ResultUtils`**: > 通用返回工具类 > > 定义了请求返回的方法重载,包括: > > 成功(返回数据 data)、失败(错误码枚举、自定义错误码、错误描述、错误码枚举、错误描述) #### 4. config 包(配置) **`CorsConfig`**: > 全局跨域配置类 > > 覆盖所有请求、允许发送 Cookie、放行哪些域名(必须用 patterns,否则 * 会和 allowCredentials 冲突) **`Knife4jConfig`**: > Knife4j 接口文档配置类 > > 定义接口文档(指定 @Profile("dev") 默认只在本地开发开启) > > 指定配置所需的标题、描述、版本号和扫描的 Controller 包路劲 **`MyBatisPlusConfig`**: > MyBatis Plus 配置类 > > 通过 @MapperScan 注解扫描 mapper 类 > > 定义拦截器配置进行分页操作 #### 5. constant 包(通用) **`CommonConstant`**: > 通用常量类 > > 定义了 升序、降序的排序字段常量 **`UserConstant`**: > 用户常量类 > > 定义了 用户登录态键、系统用户 id(虚拟用户)、默认权限、管理员权限等常量 #### 6. controller 包 **`PostController`**: > 帖子接口类 > > 定义了对帖子表进行增删改查、根据 id 查询、获取列表(仅管理员可用)、分页获取列表等方法 **`UserController`**: > 用户接口类 > > 定义了 注册、登录、注销、获取当前登录用户、创建用户、更新用户、删除用户、根据 id 获取用户、获取用户列表分页、获取用户列表 等方法 #### 7. exception 包 **`BusinessException`**: > 自定义异常类 > > 定义了 BusinessException 自定义异常的重载方法(自定义错误码、错误描述、错误枚举、错误枚举、错误方法) **`GlobalExceptionHandler`**: > 全局异常处理类 > > 定义了拦截 BusinessException、RuntimeException 进行返回并打印错误日志 log #### 8. mapper 包 **`PostMapper`**: > MyBatis-Plus 对 Post 的封装,继承 BaseMapper 提供对数据库操作的方法 **`UserMapper`**: > MyBatis-Plus 对 User 的封装,继承 BaseMapper 提供对数据库操作的方法 #### 9. model 包 > 定义了 User 类与 Post 类的不同场景实体类封装 #### 10. service 包 **`PostServiceImpl`**: > validPost 定义对 PostController 中需要调用的方法传入的参数的判断 **`UserServiceImpl`**: > 定义了对 UserController 用户注册、用户登录、获取当前登录用户、是否为管理员、用户注销 等方法的具体实现 **`PostService`**: > PostService 接口 > > 定义了 UserServiceImpl 中的接口 **`UserService`**: > UserService 接口 > > 定义了 UserServiceImpl 中的接口 #### 11. 总结 这个 Springboot 项目初始模板适合用于中小型的 Web 开发项目,可以作为一个基础框架进行二次开发。该模板提供了权限校验、请求响应日志、通用返回类等公共方法,以及对 MyBatis-Plus 的封装,方便对数据库进行操作。此外,该模板还提供了全局跨域配置和 Knife4j 接口文档配置等功能,可适用于前后端分离的开发项目。