我正在尝试使用java将DO转换为DTO,并在开始编写自己的工具之前寻找自动化工具。我只是想知道是否有同样的免费工具可用。


当前回答

你也可以尝试基于Dozer的映射框架,但是用Excel来声明映射。他们有一些工具和额外的很酷的功能。 查看网址:http://openl-tablets.sf.net/mapper

其他回答

还有一个Java映射引擎/框架Nomin: http://nomin.sourceforge.net。

另一个是Orika - https://github.com/orika-mapper/orika

Orika is a Java Bean mapping framework that recursively copies (among other capabilities) data from one object to another. It can be very useful when developing multi-layered applications. Orika focuses on automating as much as possible, while providing customization through configuration and extension where needed. Orika enables the developer to : Map complex and deeply structured objects "Flatten" or "Expand" objects by mapping nested properties to top-level properties, and vice versa Create mappers on-the-fly, and apply customizations to control some or all of the mapping Create converters for complete control over the mapping of a specific set of objects anywhere in the object graph--by type, or even by specific property name Handle proxies or enhanced objects (like those of Hibernate, or the various mock frameworks) Apply bi-directional mapping with one configuration Map to instances of an appropriate concrete class for a target abstract class or interface Handle reverse mappings Handle complex conventions beyond JavaBean specs. Orika uses byte code generation to create fast mappers with minimal overhead.

使用Apache commons beanutils:

静态无效copyProperties(对象dest,对象origin) -将所有属性值从源bean复制到目标bean 属性名为的情况 相同。

http://commons.apache.org/proper/commons-beanutils/

你也可以尝试基于Dozer的映射框架,但是用Excel来声明映射。他们有一些工具和额外的很酷的功能。 查看网址:http://openl-tablets.sf.net/mapper

我很高兴添加Moo作为一个选项,尽管很明显我对它有偏见: http://geoffreywiseman.github.com/Moo/

它在简单的情况下很容易使用,在更复杂的情况下也很有能力,尽管我仍然可以想象在一些方面对它进行进一步的改进,以解决更复杂的问题。