UserCenter

Picasun ECNU_Jinggg

用户中心

结构

  • 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作为返回 定义返回的工具类
  • contant

    • UserConstant
      • 常量定义态键
  • exception

    • BusinessException
      • 继承RuntimeException
      • 添加自定义属性后实现多种构造方法
    • GlobalExceptionHandler
      • @RestControllerAdvice注解
        • @ControllerAdvice 和 @ResponseBody 的组合
        • 全局异常处理:可以捕获所有控制器中未处理的异常。
        • 统一返回格式:通过自定义逻辑,返回统一的响应结构(如 BaseResponse)。
        • 日志记录:结合 @Slf4j,可以记录异常信息,便于排查问题。

      • @Slf4j 注解
        • 用于自动生成一个名为 log 的日志记录器对象,简化日志记录的代码。
        • Lombok 提供的。
      • @ExceptionHandler(XXXXXX.class) 注解
        • SpringMVC中的注解
        • 捕获 XXXXXX 类型的异常,并将其交由 businessExceptionHandler 方法处理
  • model.domain

    • request
      • UserLoginRequest
        • 用户登陆请求体 之后配合RequestBody使用
      • UserRegisterRequest
        • 用户注册请求体 之后配合RequestBody使用
    • User
      • User类 定义用户属性 建立与数据库映射
      • 实现接口 Serializable
      • 实现 Serializable 接口的目的是为了使 User 类的对象能够被序列化和反序列化
      • @TableField(exist = false)注解
        • 是 MyBatis-Plus 提供的注解,用于标记实体类中的字段不与数据库表中的字段进行映射。也就是说,这个字段在数据库表中不存在,仅在代码中使用
      • @Data注解
        • 是 Lombok 提供的注解,用于自动生成以下内容:
          • Getter 和 Setter 方法:为类中的所有字段生成 get 和 set 方法。
          • toString() 方法:生成一个包含所有字段的 toString() 方法。
          • equals() 和 hashCode() 方法:基于类的所有字段生成。
          • RequiredArgsConstructor:生成一个包含 final 字段的构造方法。
      • @TableName注解
        • 是 MyBatis-Plus 提供的注解,用于指定实体类对应的数据库表名
      • @TableId 注解
        • 是 MyBatis-Plus 提供的注解,用于指定数据库表中主键的映射方式
  • mapper

    • UserMapper 接口
      • 继承 BaseMapper
  • service

    • impl
      • UserServiceImpl
        • 实现 UserService 定义的那些接口
        • 继承 ServiceImpl<UserMapper, User>
        • UserMapper接口作为UserServiceImpl私有成员
        • 用于实际数据库的操作
          • 因为 UserMapper继承了BaseMapper
          • User类中通过注解关联数据表@TableName(value = “user”)
    • UserService 接口
      • 继承 IService(model.domain中的User🥱)
      • 定义用户方法 如注册、登陆、退出
  • controller

    • UserController
      • @RestController 是 Spring Boot 中的一个注解,作用是将当前类标记为一个控制器(Controller),并且它是 @Controller 和 @ResponseBody 的组合注解。
        • 标记为控制器:表明该类是一个处理 HTTP 请求的控制器。
        • 自动返回 JSON 数据
      • @RequestMapping(“/user”) 是 Spring MVC 中的注解,用于将 HTTP 请求映射到控制器类或方法。
        • 作用范围:标注在类上,表示该类中所有方法的基础路径为 /user。
        • 功能:结合方法级别的映射注解(如 @GetMapping、@PostMapping),定义具体的请求路径和处理逻辑。
        • 用途:用于构建 RESTful API 的路由规则。
      • **接口有实现类,调用接口则会找实现类? **
  • resources

    • mapper
      • UserMapper.xml
        • 定义User类和user表字段映射
  • 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.
Advertising space for rent :)
UserCenter