domain文件夹

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

简单说: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)

通俗理解:controllerdomain 里的类来收发数据。


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

你希望我画吗?

相关推荐
二哈赛车手3 小时前
新人笔记---ApiFox的一些常见使用出错
java·笔记·spring
栗子~~4 小时前
JAVA - 二层缓存设计(本地缓冲+redis缓冲+广播所有本地缓冲失效) demo
java·redis·缓存
YDS8294 小时前
DeepSeek RAG&MCP + Agent智能体项目 —— RAG知识库的搭建和接口实现
java·ai·springboot·agent·rag·deepseek
未若君雅裁5 小时前
MyBatis 一级缓存、二级缓存与清理机制
java·缓存·mybatis
AI人工智能+电脑小能手6 小时前
【大白话说Java面试题 第65题】【JVM篇】第25题:谈谈对 OOM 的认识
java·开发语言·jvm
阿维的博客日记6 小时前
Nacos 为什么能让配置动态生效?(涉及 @RefreshScope 注解)
java·spring
雨辰AI6 小时前
SpringBoot3 + 人大金仓读写分离 + 分库分表 + 集群高可用 全栈实战
java·数据库·mysql·政务
辰海Coding7 小时前
MiniSpring框架学习-完成的 IoC 容器
java·spring boot·学习·架构
小小编程路7 小时前
C++ 多线程与并发
java·jvm·c++
AI视觉网奇8 小时前
linux 检索库 判断库是否支持
java·linux·服务器