背景
在分层应用的开发过程中,开发人员需要针对各层的特点封装不同的数据对象,如:VO(View Object,展示层对象)、DTO(Data Transfer Object,数据传输对象)、Entity/DO(Data Object,数据层对象)等。随之而来的就是数据对象的转换需求。
在不同层次的数据对象拷贝过程中,常用的处理方式有:
手动拷贝:
优点:代码可控性强,可以避免复杂对象拷贝的潜在问题
缺点:编码复杂,后期维护难,字段容易有遗漏
Spring/Commons的BeanUtils:
优点:使用简单,轻量
缺点:只能处理简单的字段,无法处理复杂的映射
Dozer等映射框架:
优点:开源,有很多项目实践检验
缺点:不一定符合项目需求,对懒加载支持不好,扩展/修改困难
为了简化开发人员的工作,解决现有方案存在的问题以及更好地适应项目需要,commons-beans项目应运而生。
Last updated