常用Java工具库
# Apache Commons
BeanUtils和PropertyUtils类下的copyProperties()尽量不要用,因为效率低,而且是浅拷贝
# 背景
由于软件架构设计中的分层结构,导致每一层结构都要有一种数据模型
:::
- 数据存储层——DO
- 业务逻辑层——DTO
- 展示层——VO :::
# 需求
不同数据对象模型之间就要进行属性的拷贝,即对对象的属性进行映射
personDTO.setName(personDO.getName())
1
# 实现方案
数据对象模型之间的映射工具类
- MapStruct
- Spring BeanUtils
- Cglib BeanUtils
- Apache PropertyUtils
- Dozer
前三个性能较好,MapStruct首选;Dozer虽然性能较差,但是可以很好的和Spring配合,通过配置文件进行属性之间的映射,也一样受到喜爱
# MapStruct
编辑 (opens new window)