【问题标题】:Difference between jackson objectMapper to othersjackson objectMapper 与其他人的区别
【发布时间】:2020-12-15 09:58:05
【问题描述】:

我找不到任何关于 jackson 的 ObjectMapper 与其他映射器(如 dozer/mapStruct/modelMapping/等)之间差异的解释。所有的文章都比较了 dozer/mapStruct/modelMapping 但他们忽略了 ObjectMapper。我不明白出了什么问题?是同一个映射器吗?

【问题讨论】:

    标签: jackson objectmapper mapstruct mapper modelmapper


    【解决方案1】:

    DozerMapStructModelMappingJava Bean to Java Bean 映射器框架,它们以逐个属性、逐个字段的方式递归地将数据从一个对象复制到另一个对象。

    另一方面,ObjectMapper 提供读写JSON 的功能,既可以从基本 POJO 读取和写入,也可以从通用JSON Tree Model 读取和写入。 ObjectMapper 具有一些附加功能,例如转换对象(参见 convertValue 方法),但这不是创建此类的主要原因。

    所以,如果你想在两个不同的模型之间实现复杂的映射,你应该使用映射器;如果要将模型序列化为JSON 或从JSON 有效负载反序列化模型,则必须使用Jackson 中的ObjectMapper

    【讨论】:

      【解决方案2】:

      Jackson 库 - 主要关注将 Objects/Entities 转换为 JSON 并返回。

      ModelMapper/ MapStruct - 关注一个实体到另一个实体的映射,将一个实体映射到它的 DTO。由于不同实体的大小和复杂性,此操作可能会变得相当粗糙,因此我们需要这些库来简化工作。

      【讨论】:

        猜你喜欢
        • 2017-01-19
        • 2013-06-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-06
        • 2017-01-22
        • 2013-10-28
        • 1970-01-01
        相关资源
        最近更新 更多