是否有任何IntelliJ功能可以在两个相似对象之间映射值?

use*_*170 7 java integration soap intellij-idea pojo

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

public class ObjectA{
  private String someString;
  private Integer someInteger;
}
Run Code Online (Sandbox Code Playgroud)

对于这个对象,我想创建自己的表示"ObjectB",它基本上是相同的但我不想在我的集成工件之外公开WSDL中的对象.

那么我在ObjectA和ObjectB之间进行映射.但这是很多手工工作,特别是如果对象有很多字段.IntelliJ中是否有任何智能方法可以在两个对象之间生成映射?

谢谢

Jas*_*ues 3

您可以使用 Dozer 框架,它是一个对象到对象映射器。

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

详细信息请参见:http://dozer.sourceforge.net/

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

编辑:

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