domain文件夹

在 ruoyi-vue 的 common/core/domain 文件夹里,存放的是 领域模型类(Domain Objects) ,也就是 Java Bean 或 POJO,用于在业务逻辑中封装数据。

简单说:domain 文件夹就是 存放数据载体的地方,通常包括以下几类:


1️⃣ BaseEntity(基础实体类)

  • 定义了数据库表共有字段,比如:

    • createBy(创建人)
    • createTime(创建时间)
    • updateBy(更新人)
    • updateTime(更新时间)
    • remark(备注)
  • 所有实体类可以继承它,减少重复代码。

例子:

java 复制代码
public class BaseEntity {
    private String createBy;
    private Date createTime;
    private String updateBy;
    private Date updateTime;
    private String remark;
    // getter setter ...
}

2️⃣ BaseDTO 或具体 DTO 类

  • DTO = Data Transfer Object(数据传输对象)
  • 用于前后端交互,通常比实体类更精简,只包含需要传输的数据。
  • 例如:
java 复制代码
public class UserDTO {
    private String username;
    private String email;
    private List<String> roles;
    // getter setter ...
}

3️⃣ AjaxResult / R 类

  • 封装接口响应数据,统一返回格式。

  • 包含:

    • code(状态码)
    • msg(消息)
    • data(返回数据)
  • 方便前端统一处理响应。

java 复制代码
public class AjaxResult {
    private int code;
    private String msg;
    private Object data;
    // 静态方法构建成功或失败响应
}

4️⃣ LoginUser 类

  • 封装当前登录用户信息,例如:

    • 用户ID、用户名、角色列表、权限列表等
  • 用于后端安全框架(如 Spring Security)中获取用户信息。

java 复制代码
public class LoginUser {
    private Long userId;
    private String username;
    private List<String> roles;
    private List<String> permissions;
}

5️⃣ 总结

domain 文件夹就是 核心数据对象层,作用是:

  1. 封装数据库实体(Entity)
  2. 封装前后端交互的数据(DTO)
  3. 封装统一返回格式(AjaxResult、R)
  4. 封装用户会话信息(LoginUser)

通俗理解:controller 用 domain 里的类来收发数据。


我可以帮你画一张 controller ↔ domain ↔ service ↔ mapper 数据流图 ,直观展示 domain 的作用。

你希望我画吗?

相关推荐
天河归来8 小时前
第三方接口不稳定,如何让核心任务继续完成
java·大数据
Knight_AL8 小时前
Java 文件下载时文件名中的 `#` 被转换成 `%23`?一次 URL 编码与解码问题排查
java·开发语言
砚底藏山河9 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
猿究院_夏燊10 小时前
MySQL 的四种隔离级别
java·数据库·mysql
码流子10 小时前
移动收费怎么做?手持终端+App+收费中心的架构实践
java·开发语言·架构
霸道流氓气质11 小时前
AI 流式对话与实时聊天平台:SSE 解码竞态、有状态会话隔离与背压取消的 Vue3 + Spring AI 生产级实战
java·人工智能·spring
云创智城-yuncitys11 小时前
YunParking 4.0:JDK 17 与 Spring Boot 3.2 的停车云升级
java·开发语言·spring boot
文丑颜不良啊11 小时前
LeetCode1661~1680题目解析
java·leetcode
子非鱼@Itfuture11 小时前
关于前后端联调中登录状态/登录信息失效?
java·前端
郭小李11 小时前
openFeign入门
java·开发语言·前端