主题
Dubbo Service 模板
占位符说明
| 占位符 | 说明 | 示例 |
|---|---|---|
{basePackage} | 项目基础包路径 | cn.szhn.poc.service |
{module} | 业务模块名称(小驼峰) | demostu, teacher |
{Xxx} | 业务实体名称(大驼峰) | DemoStu, Teacher |
{xxx} | 业务实体名称(小驼峰) | demoStu, teacher |
{业务名称} | 业务中文描述 | 学生, 教师 |
{作者名} | 代码作者 | 彭业庆 |
{yyyy-MM-dd} | 创建日期 | 2026-05-13 |
接口定义(api 模块)
java
package {basePackage}.api.{module};
import {basePackage}.business.{module}.model.vo.{Xxx}VO;
import {basePackage}.business.{module}.model.dto.{Xxx}PageDTO;
import {basePackage}.business.{module}.model.vo.{Xxx}QueryVO;
import cn.com.digitalhainan.common.common.dto.PaginationInfoResDTO;
import cn.com.digitalhainan.common.core.response.BaseResponse;
/**
* <p>{业务名称}Dubbo服务接口</p>
*
* @author {作者名}
* @since {yyyy-MM-dd}
*/
public interface {Xxx}Service {
BaseResponse<PaginationInfoResDTO<{Xxx}PageDTO>, Object> queryPage({Xxx}QueryVO vo);
BaseResponse<{Xxx}DTO, Object> getById(String id);
BaseResponse<String, Object> add({Xxx}VO vo);
BaseResponse<Object, Object> update({Xxx}VO vo);
BaseResponse<Object, Object> delete(String id);
}接口实现(api 模块)
java
package {basePackage}.api.{module}.impl;
import {basePackage}.api.{module}.{Xxx}Service;
import {basePackage}.business.{module}.manager.{Xxx}Manager;
import {basePackage}.business.{module}.model.vo.{Xxx}VO;
import {basePackage}.business.{module}.model.dto.{Xxx}PageDTO;
import {basePackage}.business.{module}.model.vo.{Xxx}QueryVO;
import cn.com.digitalhainan.common.common.dto.PaginationInfoResDTO;
import cn.com.digitalhainan.common.core.response.BaseResponse;
/**
* <p>{业务名称}Dubbo服务实现</p>
*
* @author {作者名}
* @since {yyyy-MM-dd}
*/
@DubboService
public class {Xxx}ServiceImpl implements {Xxx}Service {
@Resource
private {Xxx}Manager {xxx}Manager;
@Override
public BaseResponse<PaginationInfoResDTO<{Xxx}PageDTO>, Object> queryPage({Xxx}QueryVO vo) {
return BaseResponse.success({xxx}Manager.queryPage(vo));
}
@Override
public BaseResponse<{Xxx}DTO, Object> getById(String id) {
return BaseResponse.success(null);
}
@Override
public BaseResponse<String, Object> add({Xxx}VO vo) {
return BaseResponse.success({xxx}Manager.add(vo));
}
@Override
public BaseResponse<Object, Object> update({Xxx}VO vo) {
{xxx}Manager.updateById(vo);
return BaseResponse.success(null);
}
@Override
public BaseResponse<Object, Object> delete(String id) {
{xxx}Manager.deleteById(id);
return BaseResponse.success(null);
}
}关键规约
| 规约项 | 要求 |
|---|---|
| 服务暴露 | 使用 @DubboService 注解 |
| 返参格式 | 统一用 BaseResponse<> 包裹 |
| 分层调用 | 仅调用 Manager 层,禁止直接调用 Mapper |
| 方法重载 | 禁止方法重载(Dubbo 不支持) |
| 文档注释 | 必须添加 @author 和 @since |
