7

最近我一直在对 SOAP 服务进行大量集成。假设我从 SOAP 服务中获取此对象:

public class ObjectA{
  private String someString;
  private Integer someInteger;
}

对于这个对象,我想制作自己的表示“ObjectB”,它基本上是相同的,但我不想在我的集成工件之外从 WSDL 公开对象。

然后我在 ObjectA 和 ObjectB 之间进行映射。但这需要大量的手动工作,尤其是在对象有很多字段的情况下。IntelliJ 中是否有任何智能方法可以在两个对象之间生成映射?

谢谢

4

1 回答 1

2

您可以使用 Dozer 框架,它是一个 Object-to-Obejct 映射器。

默认情况下,它将按约定映射,但这可以用映射文件覆盖/自定义。

详情在这里:http ://dozer.sourceforge.net/

我之前使用它来将特定于用例的服务负载对象映射到可重用的域对象上。

编辑:

MapStruct是一个更现代的映射框架。它使用编译时生成:

于 2013-02-08T13:41:52.760 回答