【问题标题】:Is it good to upgrade to MapStruct from ModelMapper?从 ModelMapper 升级到 MapStruct 好不好?
【发布时间】:2020-02-06 13:45:13
【问题描述】:

目前我们在项目中使用 ModelMapper。但是在网站上,我看到很多人喜欢 MapStruct。

不确定差异以及我们是否真的需要升级。

ModelMapper 和 MapStruct 有什么区别?

谢谢。

【问题讨论】:

    标签: mapstruct modelmapper


    【解决方案1】:

    (这里是 MapStruct 的项目负责人,所以我自然有偏见)

    我之前没有使用过 ModelMapper。但是,这些项目在进行映射的方式上却大不相同。我相信 ModelMapper 基于反射并在运行时执行映射。而 MapStruct 是一个代码生成器,它在编译时生成映射代码(java 类)。

    因此,如果您担心性能,那么 MapStruct 是明智的选择。有this 独立的Java Object Mapper Benchmark 可以对不同的框架进行基准测试。

    MapStruct 生成的代码是人类可读的代码,易于调试,没有反射。

    有很多built-in 转化。

    如果某些内容无法映射,您会在编译期间收到通知,您将负责提供此类映射,以便 MapStruct 可以使用它们。

    还有IDE插件: * IntelliJ plug-in:在通过自动完成编辑映射器接口时提供帮助,转到引用的属性,重构支持等。 * Eclipse plug-in avaible:具有快速修复和自动完成功能,在设计映射器界面时非常有用

    【讨论】:

    • 你们支持从snake case字段到camel case的简单映射吗?例如,如果我有一个名为“number_of_carts”的字段,并且我想将其映射到“numberOfCarts” - 你是否支持类似于 ModelMapper 的 NameTokenizer?
    • 是的,有办法,但我无法在 cmets 中真正回答。我建议你创建一个新问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-09
    • 2018-09-14
    相关资源
    最近更新 更多