我想转换为使用Java和寻找开始写我自己之前的自动化工具来完成对DTO。我只是想知道是否有任何免费的工具,可用于相同。
你可以尝试Dozer。
推土机是一个Java Bean为Java Bean映射器,从一个物体递归地将数据复制到另一个。通常情况下,这些Java组件会有所不同复杂类型的。
推土机支持简单属性映射,复杂类型的映射,双向映射,隐式显式的映射,以及递归映射。这包括还需要在单元级映射映射属性集合。
还有一些图书馆身边有:
另一个是Orika - OTOM
Orika是一个Java Bean映射框架,递归副本(其它功能中的)数据从一个对象到另一个。发展多层次的应用程序时,它可以是非常有用的。
Orika关注于自动化尽可能,同时通过配置和扩展提供定制需要的地方。
Orika使开发人员能够:
- 地图复杂和深刻的结构化对象
- “拼合”或“扩展”通过映射嵌套属性,以顶级属性,反之亦然对象
- 创建于即时映射器和应用自定义设置来控制部分或全部映射
- 按类型,或者甚至通过特定属性名称 - 在一组特定的对象的对象图中的任何位置的映射创建用于完全控制转换器
- 处理的代理或增强对象(如那些休眠的,或各种模拟框架)
- 应用双向映射与一个配置
- 映射到相应的具体类的实例为目标的抽象类或接口
- 手柄反向映射
- 手柄超越JavaBean的规范复杂的约定。
Orika使用字节代码生成创建以最小的开销快速映射器。
https://github.com/orika-mapper/orika是另一个值得检查出库。 ModelMapper的设计是从,它在其他图书馆不同:
退房ModelMapper网站的详细信息:
使用Apache公地的BeanUtils:
从原点豆到目的地豆所有情况下的属性名相同http://modelmapper.org - 复制属性值。
static void copyProperties(Object dest, Object orig)
还有一个Java映射引擎/框架Nomin:http://commons.apache.org/proper/commons-beanutils/。
我建议你尝试http://nomin.sourceforge.net。
这是一个Java bean为Java Bean映射器,允许你动态地注释和/或XML进行数据的通道。
随着JMapper,您可以:
我很高兴地哞添加作为一个选项,但显然我朝它偏向:JMapper Framework
这是很容易使用简单的情况下,合理的能够为更复杂的情况,虽然仍有一些地方我可以想像增强它甚至进一步复杂性。
您也可以尝试映射框架基于推土机,但与Excel映射声明。他们有一些工具和更多的很酷的功能。检查在http://geoffreywiseman.github.com/Moo/