在我们的项目中,我们必须将一个嵌套的bean结构映射到另一个.(这些实际上是JAXB映射的XML文档的Java表示,例如,表示传入的订单文档.)这必须映射到另一个系统的完全不同的订单文档结构.
有什么选择呢?我更喜欢满足以下要求的东西:
当没有定义一个字段的映射时,映射应该提醒我
映射应该有一些默认值,例如将相同名称的字段映射到另一个上,并为int提供标准映射,反之亦然.
映射应该是双向的.
在定义映射时,应该能够使用代码完成.
一个有前途的框架是Dozer,但它不能满足1和4.与JBeanMapper相同.用Java编程只需4个但不是其他要求; 使用XSLT可能实现2但没有别的.你有更好的想法吗?
ModelMapper是一个满足所有条件的库.它提供了一个映射API,它使用实际代码来映射属性 - 因此您可以获得代码完成.它提供验证以确保映射所有目标属性.此外,它提供了一些你甚至不知道你想要的东西,如智能映射:)
查看ModelMapper主页以获取更多信息:
http://modelmapper.org