我有大量的java域对象,我需要转换到DTOs。从域对象DTO和映射器生成
请不要从反模式的事情开始,域对象是他们是因为历史悠久,我不能修改它们(或不太多,见下文)。
所以,当然,我们已经超过了手动完成所有工作的年龄。 我环顾四周,而推土机似乎是DTO制图的首选框架。
但是......我真正喜欢的是:在DTO中注释我想要的类和字段,并运行一个可生成DTO和映射器的工具。
这听起来太不合理了吗?
这样的工具已经存在吗?
我有大量的java域对象,我需要转换到DTOs。从域对象DTO和映射器生成
请不要从反模式的事情开始,域对象是他们是因为历史悠久,我不能修改它们(或不太多,见下文)。
所以,当然,我们已经超过了手动完成所有工作的年龄。 我环顾四周,而推土机似乎是DTO制图的首选框架。
但是......我真正喜欢的是:在DTO中注释我想要的类和字段,并运行一个可生成DTO和映射器的工具。
这听起来太不合理了吗?
这样的工具已经存在吗?
考虑检查出ModelMapper。
它与Dozer和其他人不同,它通过智能地映射对象模型来最小化所需的配置数量。在需要配置的地方,ModelMapper提供了一个重构安全API,它使用实际代码来映射属性和值,而不是使用字符串引用或XML。
退房的ModelMapper网站获取更多信息:
仅限ModelMapper生成映射器但不是DTO? – Alessio 2016-03-24 11:24:46
使用格达 - 更快,比所有提到的地图制作的更加灵活。 http://inspire-software.com/confluence/display/GeDA/GeDA+-+Generic+DTO+Assembler
有没有对维基但junits(源)许多例子都充斥其中
的你可能在MapStruct有兴趣,对JavaBeans的制图者的代码生成器。您必须实现源模型(例如您的域对象)和目标模型(例如DTO),并且MapStruct会为这些模型之间的映射生成类型安全且快速的代码(声明:我是该项目的作者)。
此线程有点旧,但如果有人仍在尝试这样做,http://www.dtonator.org/是目前为止我发现的最佳选择。它是我能够发现的唯一一个实际创建DTO文件的工具,并且不依赖于特定的框架(Spring,Seam等)或IDE。
可能,但它可能有助于了解您所指的是哪种语言。的Java/.NET? – JasonTrue 2010-05-13 16:15:39
是的......对不起......我问这个问题后意识到了。我已经更新了它。 – 2010-05-13 16:20:20
推土机是一个可怕的,缓慢的黑盒子,很难调试,很难维护映射集合的各种问题,更新任何形式的复杂关系的对象,难以定制....呃。最好手动编写你的映射:通过IDE快速,可调试,可重构。我的2¢ – 2011-06-24 06:14:16