UserCenter
用户中心
结构
common(ErrorCode+BaseResponse实现公共返回ResultUtils)
- ErrorCode
- 枚举类型:public enum ErrorCode
- 构造方法:ErrorCode(int code, String message, String description)
- 举例:PARAMS_ERROR(40000, “请求参数错误”, “”)
- BaseResponse
- 实现接口:Serializable
- 构造方法:
- 接受ErrorCode类型:public BaseResponse(ErrorCode errorCode)
- 接受多种参数:public BaseResponse(int code, T data, String message, String description)
- ResultUtils
- 以BaseResponse作为返回 定义返回的工具类
- ErrorCode
contant
- UserConstant
- 常量定义态键
- UserConstant
exception
- BusinessException
- 继承RuntimeException
- 添加自定义属性后实现多种构造方法
- GlobalExceptionHandler
- @RestControllerAdvice注解
- @ControllerAdvice 和 @ResponseBody 的组合
- 全局异常处理:可以捕获所有控制器中未处理的异常。
- 统一返回格式:通过自定义逻辑,返回统一的响应结构(如 BaseResponse)。
- 日志记录:结合 @Slf4j,可以记录异常信息,便于排查问题。
- @Slf4j 注解
- 用于自动生成一个名为 log 的日志记录器对象,简化日志记录的代码。
- Lombok 提供的。
- @ExceptionHandler(XXXXXX.class) 注解
- SpringMVC中的注解
- 捕获 XXXXXX 类型的异常,并将其交由 businessExceptionHandler 方法处理
- @RestControllerAdvice注解
- BusinessException
model.domain
- request
- UserLoginRequest
- 用户登陆请求体 之后配合RequestBody使用
- UserRegisterRequest
- 用户注册请求体 之后配合RequestBody使用
- UserLoginRequest
- User
- User类 定义用户属性 建立与数据库映射
- 实现接口 Serializable
- 实现 Serializable 接口的目的是为了使 User 类的对象能够被序列化和反序列化
- @TableField(exist = false)注解
- 是 MyBatis-Plus 提供的注解,用于标记实体类中的字段不与数据库表中的字段进行映射。也就是说,这个字段在数据库表中不存在,仅在代码中使用
- @Data注解
- 是 Lombok 提供的注解,用于自动生成以下内容:
- Getter 和 Setter 方法:为类中的所有字段生成 get 和 set 方法。
- toString() 方法:生成一个包含所有字段的 toString() 方法。
- equals() 和 hashCode() 方法:基于类的所有字段生成。
- RequiredArgsConstructor:生成一个包含 final 字段的构造方法。
- 是 Lombok 提供的注解,用于自动生成以下内容:
- @TableName注解
- 是 MyBatis-Plus 提供的注解,用于指定实体类对应的数据库表名
- @TableId 注解
- 是 MyBatis-Plus 提供的注解,用于指定数据库表中主键的映射方式
- request
mapper
- UserMapper 接口
- 继承 BaseMapper
- 继承 BaseMapper
- UserMapper 接口
service
- impl
- UserServiceImpl
- 实现 UserService 定义的那些接口
- 继承 ServiceImpl<UserMapper, User>
- UserMapper接口作为UserServiceImpl私有成员
- 用于实际数据库的操作
- 因为 UserMapper继承了BaseMapper
- User类中通过注解关联数据表@TableName(value = “user”)
- 因为 UserMapper继承了BaseMapper
- UserServiceImpl
- UserService 接口
- 继承 IService
(model.domain中的User🥱) - 定义用户方法 如注册、登陆、退出
- 继承 IService
- impl
controller
- UserController
- @RestController 是 Spring Boot 中的一个注解,作用是将当前类标记为一个控制器(Controller),并且它是 @Controller 和 @ResponseBody 的组合注解。
- 标记为控制器:表明该类是一个处理 HTTP 请求的控制器。
- 自动返回 JSON 数据
- @RequestMapping(“/user”) 是 Spring MVC 中的注解,用于将 HTTP 请求映射到控制器类或方法。
- 作用范围:标注在类上,表示该类中所有方法的基础路径为 /user。
- 功能:结合方法级别的映射注解(如 @GetMapping、@PostMapping),定义具体的请求路径和处理逻辑。
- 用途:用于构建 RESTful API 的路由规则。
- **接口有实现类,调用接口则会找实现类? **
- @RestController 是 Spring Boot 中的一个注解,作用是将当前类标记为一个控制器(Controller),并且它是 @Controller 和 @ResponseBody 的组合注解。
- UserController
resources
- mapper
- UserMapper.xml
- 定义User类和user表字段映射
- UserMapper.xml
- mapper
- Post title:UserCenter
- Post author:Picasun
- Create time:2025-05-14 21:32:21
- Post link:https://redefine.ohevan.com/2025/05/14/UserCenter/
- Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.