Skip to content

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

Power By 数字海南