# 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 ```