project_structure.md 3.5 KB

RuoYi-Cloud-Plus 项目结构详解

模块职责说明

ruoyi-api 模块

存放对外暴露的 Dubbo 接口定义,供其他微服务调用。

ruoyi-api-backstage/
├── src/main/java/org/dromara/backstage/api/
│   ├── RemoteXxxService.java              # Dubbo接口定义
│   └── domain/
│       ├── bo/                            # 远程调用BO对象
│       ├── dto/                           # 远程调用DTO对象
│       └── vo/                            # 远程调用VO对象

规范

  • 接口命名以 Remote 开头
  • DTO/VO 命名以 Remote 开头
  • 所有传输对象必须实现 Serializable

ruoyi-modules 模块

业务模块实现,包含具体的业务逻辑。

ruoyi-backstage/
├── src/main/java/org/dromara/backstage/
│   ├── basics/                            # 基础数据模块
│   │   ├── domain/
│   │   │   ├── PtRoom.java                # 实体类
│   │   │   ├── bo/PtRoomBo.java           # 业务对象
│   │   │   └── vo/PtRoomVo.java           # 视图对象
│   │   ├── mapper/PtRoomMapper.java       # 数据访问层
│   │   └── service/
│   │       ├── IPtRoomService.java        # 服务接口
│   │       └── impl/PtRoomServiceImpl.java # 服务实现
│   ├── payment/                           # 支付模块
│   │   └── dubbo/
│   │       └── RemoteXxxServiceImpl.java  # Dubbo服务实现
│   └── controller/                        # 控制器(如需要HTTP接口)

ruoyi-common 模块

公共组件,所有模块共享。

子模块 职责
ruoyi-common-core 核心工具类、常量、异常
ruoyi-common-mybatis MyBatis-Plus配置、分页、数据权限
ruoyi-common-dubbo Dubbo公共配置
ruoyi-common-tenant 多租户支持
ruoyi-common-security 安全相关(Sa-Token封装)
ruoyi-common-excel Excel导入导出
ruoyi-common-translation 数据翻译

包命名规范

org.dromara.{module}.{submodule}.{layer}

示例:
- org.dromara.backstage.basics.domain        # backstage模块-基础数据-实体
- org.dromara.backstage.payment.dubbo        # backstage模块-支付-dubbo实现
- org.dromara.ecs.controller                 # ecs模块-控制器

类命名规范

类型 命名规则 示例
实体类 表名驼峰 PtRoom
BO 实体名+Bo PtRoomBo
VO 实体名+Vo PtRoomVo
DTO Remote+实体名+Dto RemoteRoomDto
QueryDTO Remote+实体名+QueryDto RemoteRoomQueryDto
Mapper 实体名+Mapper PtRoomMapper
Service I+实体名+Service IPtRoomService
ServiceImpl 实体名+ServiceImpl PtRoomServiceImpl
Controller 实体名+Controller PtRoomController
Dubbo接口 Remote+功能+Service RemotePtRoomService
Dubbo实现 Remote+功能+ServiceImpl RemotePtRoomServiceImpl

依赖关系

ruoyi-api (接口定义)
    ↑
ruoyi-modules (业务实现) ← 依赖 ruoyi-api 暴露服务
    ↑
ruoyi-common (公共组件) ← 所有模块依赖

配置文件位置

ruoyi-modules/{module}/src/main/resources/
├── application.yml                        # 应用配置
├── application-dev.yml                    # 开发环境
├── application-prod.yml                   # 生产环境
└── mapper/                                # MyBatis XML(如需要)
    └── basics/PtRoomMapper.xml