从 ModelMapper 升级到 MapStruct 好不好?

Jav*_*ect 4 modelmapper mapstruct

目前我们在我们的项目中使用 ModelMapper。然而,在该站点中,我看到 MapStruct 有很多人喜欢。

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

ModelMapper 和 MapStruct 之间有什么区别?

谢谢。

Fil*_*lip 9

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

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

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

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

有很多内置的转换。

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

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