Web 开发的时候,我们往往需要构建 VO 进行返回数据给前端,那么如何给 VO 赋值呢?如果是一个对象的话,我们可以使用 SpringBoot 提供的 BeanUtils.copyProperties(source, target) 这种方式,但是如果我们需要给一个数组或者是 List 进行批量赋值的话,BeanUtils 是不能满足的,这种情况下可以使用 DozerBeanMapper 进行属性拷贝。
dozer是一个能把实体和实体之间进行转换的工具.只要建立好映射关系.就像是ORM的数据库和实体映射一样。dozer的功能比BeanUtils功能更强大,但是BeanUtils的性能更好。所以简单的同名同类型属性赋值转换使用BeanUtils,复杂的级联结构的属性赋值转换使用Dozer
- Dozer可以实现Integer、Long等基础类型与String数据类型的属性之间的转换(只要名字相同就可以了,数据类型可以不同),BeanUtils只能做到同数据类型同名的属性之间赋值。
- Dozer可以实现递归级联结构的对象赋值,BeanUtils(Spring包下面的)也可以
- Dozer可以实现复杂的数据转换关系,通过xml配置的方式,BeanUtils做不到
dozer是用来两个对象之间属性转换的工具,有了这个工具之后,我们将一个对象的所有属性值转给另一个对象时,就不需要再去写重复的set和get方法了。DozerMapper相比较其他的对象转换工具,性能适中,配置比较简单便捷。看看DozerMapper的使用过程
1.引入相关的maven依赖
<dependency>
<groupId>com.github.dozermapper</groupId>
<artifactId>dozer-spring-boot-starter</artifactId>
<version>6.5.2</version>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>osgi.core</artifactId>
<version>6.0.0</version>
</dependency>
2.配置相关的xml文件
<?xml version="1.0" encoding="UTF-8"?>
<mappings xmlns="http://dozermappe

最低0.47元/天 解锁文章
3602

被折叠的 条评论
为什么被折叠?



