【发布时间】:2020-02-06 13:45:13
【问题描述】:
目前我们在项目中使用 ModelMapper。但是在网站上,我看到很多人喜欢 MapStruct。
不确定差异以及我们是否真的需要升级。
ModelMapper 和 MapStruct 有什么区别?
谢谢。
【问题讨论】:
标签: mapstruct modelmapper
目前我们在项目中使用 ModelMapper。但是在网站上,我看到很多人喜欢 MapStruct。
不确定差异以及我们是否真的需要升级。
ModelMapper 和 MapStruct 有什么区别?
谢谢。
【问题讨论】:
标签: mapstruct modelmapper
(这里是 MapStruct 的项目负责人,所以我自然有偏见)
我之前没有使用过 ModelMapper。但是,这些项目在进行映射的方式上却大不相同。我相信 ModelMapper 基于反射并在运行时执行映射。而 MapStruct 是一个代码生成器,它在编译时生成映射代码(java 类)。
因此,如果您担心性能,那么 MapStruct 是明智的选择。有this 独立的Java Object Mapper Benchmark 可以对不同的框架进行基准测试。
MapStruct 生成的代码是人类可读的代码,易于调试,没有反射。
有很多built-in 转化。
如果某些内容无法映射,您会在编译期间收到通知,您将负责提供此类映射,以便 MapStruct 可以使用它们。
还有IDE插件: * IntelliJ plug-in:在通过自动完成编辑映射器接口时提供帮助,转到引用的属性,重构支持等。 * Eclipse plug-in avaible:具有快速修复和自动完成功能,在设计映射器界面时非常有用
【讨论】: