项目中我们经常会调用第三方接口,对于第三方的返回数据 DTO 需要使用到原型模式 转换为前端所需要的 VO ,对于数据结构不变化的我们经常使用的 BeanUtils.copyProperties 来实现转换。
问题: ADto 中包含 BDto 拷贝数据给 AVo 中包含 BVo 会出现 BDto 无法拷贝 BVo 现象
原因: BeanUtils.copyProperties 是通过 类型 和 名称 进行拷贝查找的,当BDto 与 BVo 数据类型 不一致时候是无法拷贝的。