域对象生成DTO和映射器

Nic*_*s C 16 java mapping code-generation dto

我有很多java域对象需要转换为DTO.

请不要以反模式的东西开始,因为历史悠久,Domain Objects就是它们的原因,我无法修改它们(或者不能修改它们,见下文).

所以,当然,我们已经过了手工完成这一切的时代.我环顾四周,推土机似乎是DTO映射的首选框架.

但是......我真正喜欢的是:在DTO中注释我想要的类和字段,并运行一个生成DTO和映射器的工具.

这听起来太不合理吗?

这样的工具已经存在吗?

Jon*_*han 13

考虑一下CheckMapper.

它与Dozer和其他产品的不同之处在于它通过智能映射对象模型来最小化所需的配置量.在需要配置的地方,ModelMapper提供了一个重构安全API,它使用实际代码映射属性和值,而不是使用字符串引用或XML.

查看ModelMapper站点以获取更多信息:

http://modelmapper.org

  • ModelMapper 不只生成映射器而不生成 DTO 吗? (2认同)

Gun*_*nar 8

您可能对MapStruct感兴趣,MapStruct是JavaBeans映射器的代码生成器.您必须实现源模型(例如您的域对象)和目标模型(例如DTO),并且MapStruct生成类型安全且快速的代码,用于在这些模型之间进行映射(免责声明:我是该项目的作者).