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 的作用。

你希望我画吗?

相关推荐
lang2015092819 小时前
Java WebSocket API:JSR-356详解
java·python·websocket
jiang_changsheng19 小时前
环境管理工具全景图与深度对比
java·c语言·开发语言·c++·python·r语言
计算机学姐19 小时前
基于SpringBoot的民宿预定管理系统【三角色+个性化推荐算法+数据可视化统计】
java·vue.js·spring boot·mysql·信息可视化·intellij-idea·推荐算法
yaoxin52112319 小时前
314. Java Stream API - 使用 Collectors.partitioningBy() 分区元素
java·windows
noBt20 小时前
Windows IDEA 卡顿严重
java·ide·intellij-idea
h7ml20 小时前
淘宝返利软件的跨端同步架构:Java RESTful API+GraphQL满足Web/APP/小程序的多端数据需求
java·架构·restful
qq_3363139320 小时前
javaweb-web基础(springboot入门)
java·开发语言·mysql
闻哥20 小时前
从测试坏味道到优雅实践:打造高质量单元测试
java·面试·单元测试·log4j·springboot
smileNicky20 小时前
统一网关的登录流程总结
java
计算机程序设计小李同学20 小时前
基于 Spring Boot + Vue 的龙虾专营店管理系统的设计与实现
java·spring boot·后端·spring·vue