gpt4 book ai didi

java - Dozer bean 到 bean 映射的具体用例?

转载 作者:行者123 更新时间:2023-12-01 22:37:31 24 4
gpt4 key购买 nike

我很想从根本上理解 Dozer Mapping 存在什么问题。框架解决。

根据他们的教程,Dozer:

Dozer is a Java Bean to Java Bean mapper that recursively copies data from one object to another. Typically, these Java Beans will be of different complex types.

来自他们文档的代码示例:

Mapper mapper = new DozerBeanMapper();
DestinationObject destObject = new DestinationObject();

mapper.map(sourceObject, destObject);

但这与 HashMap 有什么不同呢?与标准 JRE Map 实现相比,Dozer 映射给我们带来了什么好处?我可以使用 JRE 完成与上面相同的事情:

Map<SourceObject, DestinationObject> mapper = new ConcurrentHashMap<SourceObject, DestinationObject>();
mapper.map(new SourceObject(), new DestinationObject());

我在这里缺少什么?

最佳答案

想象一下这种情况..你有一个实体类,它有很多字段,并且想将这个类传递给另一个应用程序。但是,您不想传递所有字段值,因为您只想共享某些字段(也许您有应保持私有(private)的字段)。

所以,大多数时候,我们通过两个类实现来处理这个问题..实体,以及实体的“可移植”版本,它没有我们不想共享的字段等等等。这称为 DTO(数据传输对象)。

如果没有推土机,我们必须创建可移植版本,并从实体中设置它的所有字段..

PortablePerson portPerson = new PortablePerson();
portPerson.setId(person.getId());
portPerson.setName(person.getName());
...
...

Dozer 为我们完成了所有这些繁琐的工作。只要真实类和可移植类之间的字段调用相同,Dozer 映射就无需任何配置即可工作。

希望对你有帮助!

关于java - Dozer bean 到 bean 映射的具体用例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26681058/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com