【问题标题】:How to parse DTO to Pojo objects如何将 DTO 解析为 Pojo 对象
【发布时间】:2016-07-21 07:57:38
【问题描述】:

好吧,我正在尝试解析对象,但遇到了很多问题。 我的课是这样的:

-Entidad-

public class Entidad{

    private Long codEntidad;
    private Set<Comunicacion> comunicacion;


    /*------------ Getter and Setters --------------*/

}

-通讯-

public class Comunicacion {

    private Entidad entidad;
    private Long codComunicacion;

    /*------------ Getter and Setters --------------*/

}

我需要解析为 DTO 对象:

-EntidadDTO-

public class EntidadDTO{

    private Long codEntidad;
    private Set<ComunicacionDTO> comunicacionDto;


    /*------------ Getter and Setters --------------*/

}

-CommunicacionDTO-

public class ComunicacionDTO {

    private EntidadDto entidadDto;
    private Long codComunicacion;

    /*------------ Getter and Setters --------------*/

}

我尝试使用:

BeanUtils.copyProperties(entidad, entidadDto);

似乎解析成功,但属性 entidadDto.getComunicacionDto();是 Comunicacion 的 hashMap(不是 ComunicacionDTO)

我应该尝试使用反射进行自定义解析吗?

我也想用它来解析更多具有相似结构的对象。 谢谢!

【问题讨论】:

    标签: java parsing reflection dto pojo


    【解决方案1】:

    试试推土机。您可以使用它定义从 bean 到 bean 的映射。 http://dozer.sourceforge.net/

    【讨论】:

    • 我听说过 Dozer,但真的可以转换带有循环引用的对象吗?
    【解决方案2】:

    为什么要解析 java 对象并将数据移动到其他 java 对象? 解析是针对非结构化字符串而不是对象。

    使用 setter/getter 将数据从一个对象移动到另一个对象,使用反射会让你在开始重构时哭泣。

    【讨论】:

    • 原因是在我的控制器上我创建了一个 DTO,并且通过服务 Dao 需要一个 Pojo 来在 ddbb 上创建一个寄存器。我应该更改控制器以获取 Pojo 并忘记 Parse 吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-26
    • 2017-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多