存放对外暴露的 Dubbo 接口定义,供其他微服务调用。
ruoyi-api-backstage/
├── src/main/java/org/dromara/backstage/api/
│ ├── RemoteXxxService.java # Dubbo接口定义
│ └── domain/
│ ├── bo/ # 远程调用BO对象
│ ├── dto/ # 远程调用DTO对象
│ └── vo/ # 远程调用VO对象
规范:
Remote 开头Remote 开头Serializable业务模块实现,包含具体的业务逻辑。
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-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