千家信息网

VO转化设计的方法步骤

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要讲解了"VO转化设计的方法步骤",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"VO转化设计的方法步骤"吧!1、工具类支持分页列表、不分页列表
千家信息网最后更新 2026年11月01日VO转化设计的方法步骤

这篇文章主要讲解了"VO转化设计的方法步骤",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"VO转化设计的方法步骤"吧!

1、工具类

支持分页列表、不分页列表、单个转化调用,工具代码还是比较简洁,比较清爽的。

public interface VOConvertable {

/**

* 转化为基础接口

* @param source 原始对象

* @return 转化以后的对象

*/

T convertVO(S source);

}

@Slf4j

public class VOConvertUtils extends VOConvertable> {

private VOConvertUtils() {

}

public static VOConvertUtils instance = new VOConvertUtils();

/**

* 查询分页信息

* @param sourcePage 传入的分页DTO

* @param targetClazz 转化的目标对象

* @return 返回的集合

*/

public PagedDTO convertVOPage(PagedDTO sourcePage,Class targetClazz) {

if (sourcePage == null || sourcePage == null ) {

return null ;

}

PagedDTO pageResult = new PagedDTO();

pageResult.setPageNum(sourcePage.getPageNum());

pageResult.setPageSize(sourcePage.getPageSize());

pageResult.setTotalRecord(sourcePage.getTotalRecord());

pageResult.setList(convertVOList(sourcePage.getList(),targetClazz));

return pageResult;

}

/**

* 查询列表信息

* @param sources 传入的集合

* @param targetClazz 转化的目标对象

* @return 返回的集合

*/

public List convertVOList(List sources,Class targetClazz) {

if (sources == null || targetClazz == null ) {

return null ;

}

List list = new ArrayList(sources.size());

for (S source: sources) {

list.add((T) convertVO(source,targetClazz));

}

return list;

}

/**

* 对象转化

* @param source 原始对象

* @param targetClazz 目标对象

* @return 转化以后的对象

*/

public T convertVO(S source,Class targetClazz) {

if (source == null || targetClazz == null ) {

return null ;

}

try {

T instance = targetClazz.newInstance();

return (T)instance.convertVO(source);

} catch (Exception e) {

log.error( "convertVO error" ,e);

return null ;

}

}

}

2、 vo对象改造

1: vo对象需要增加@Builder @AllArgsConstructor @NoArgsConstructor 这几个注解,其实构造模式通过lombok插件来处理了,我们无需自己去实现,只需要构造相关的数据就好了。

2: vo对象实现VOConvertable这个接口来实现转化为vo接口, 接口定义的泛形需要调用方自己传递。

@Data

@ApiModel (value = "转链结果类" )

@Builder

@AllArgsConstructor

@NoArgsConstructor

public class ItemConvertVO implements VOConvertable,Serializable {

private static final long serialVersionUID = -1194554463611634742L;

@ApiModelProperty (value = "商品ID" )

private String id;

@ApiModelProperty (value = "第三方商品ID" )

private String itemId;

@ApiModelProperty (value = "优惠券转链" )

private String couponUrl;

@ApiModelProperty (value = "商品转链" )

private String itemUrl;

@Override

public ItemConvertVO convertVO(ItemConvertDTO itemConvertDTO) {

if (itemConvertDTO == null ) {

return null ;

}

return ItemConvertVO.builder()

.couponUrl(itemConvertDTO.getCouponUrl())

.itemUrl(itemConvertDTO.getItemUrl())

.itemId(itemConvertDTO.getItemId())

.id(String.valueOf(itemConvertDTO.getId()))

.build();

}

}

3、 对应的controller的调用

这边需要将ItemConvertDTO转化为ItemConverVO,一行代码就可以了,使用起来也很便捷。

@RequestMapping (value = "/convert" , method = RequestMethod.GET)

@ApiOperation (value = "商品详情-转链接口" )

public ItemConvertVO itemConvert( @RequestParam ( "id" ) String id) {

AnchorDubboDTO anchorDubboDTO = AnchorHolder.checkStatusAndGetAnchor();

log.info(String.format( "%s|/app/item/convert|GET|id=%s" , anchorDubboDTO.getAnchorId(), id));

checkId(id);

ItemConvertDTO itemConvertDTO = itemService.itemUrlConvert(Long.valueOf(id));

return (ItemConvertVO) VOConvertUtils.instance.convertVO(itemConvertDTO,ItemConvertVO. class );

}

感谢各位的阅读,以上就是"VO转化设计的方法步骤"的内容了,经过本文的学习后,相信大家对VO转化设计的方法步骤这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

对象 方法 步骤 设计 商品 接口 目标 学习 原始 代码 信息 内容 工具 查询 便捷 简洁 清爽 一行 优惠券 单个 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网下的科技发展 华宇互联网科技 喔噻互联网科技 万易互联网科技 中国互联网科技发展 无锡溥仪互联网科技有限公司 欧洲十大科技互联网公司 团飞科技与伯堂互联网服务平台 浙江互联网科技研学营 武汉健翔互联网络科技有限公司 爱医互联网络科技 保险科技服务互联网营销体系 互联网金融科技公司的优势 上海钢联属于互联网科技股吗 世界互联网科技成果奖 普陀区互联网教育科技管理办法 互联网科技手抄报图片 三亚科技创新互联网基地 平安好医生打造互联网科技医疗 互联网 科技节活动 微视频大赛 互联网科技博主是什么意思 互联网金融科技公司干啥的 互联网媒体平台算高科技产业 互联网金融科技公司的优势 深圳无忧互联网科技 互联网科技资金流入 昆明中奇联合互联网科技 科技互联网行业投资研究 广西科技产业互联网是什么 科技发展第三阶段互联网时代
0