- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
目前我们在项目中使用 ModelMapper。但是,在该站点中,我看到很多人喜欢 MapStruct。
不确定差异以及我们是否需要真正进行升级。
ModelMapper 和 MapStruct 有什么区别?
谢谢。
最佳答案
(这里是 MapStruct 的项目负责人,所以我自然有偏见)
我以前没有使用过 ModelMapper。但是,这些项目在进行映射的方式上大不相同。我相信 ModelMapper 基于反射并在运行时执行映射。而 MapStruct 是一个代码生成器,它在编译期间生成映射代码(java 类)。
因此,如果您担心性能,那么 MapStruct 自然是明智的选择。有this独立的 Java Object Mapper Benchmark,对不同的框架进行基准测试。
MapStruct 生成的代码是人类可读的代码,易于调试且没有反射。
有很多built-in转换。
如果无法映射某些内容,您会在编译期间收到通知,并且您将负责提供此类映射,以便 MapStruct 可以使用它们。
还有IDE插件:
* IntelliJ plug-in :在通过自动完成编辑映射器接口(interface)时提供帮助,转到引用的属性,重构支持等。
* Eclipse plug-in avaible:具有快速修复和自动完成功能,在设计映射器界面时非常有用
关于mapstruct - 从 ModelMapper 升级到 MapStruct 好不好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60096412/
我想映射到一个只有一个带有 3 个参数的构造函数的源目标。我收到以下错误: Failed to instantiate instance of destination com.novasol.book
我有 2 个对象: @Setter @Getter public class Agent { public int userID; public String name; pu
我正在尝试使用 modelmapper 将我的类映射到传入请求。 看起来 Date 无法在 modelmapper 中自动转换。 Converter org.modelmapper.internal.
我想在UserDTO之间映射和 User ,但不包括一个字段,比如 city .我该怎么做,因为我认为这种方法可行,但它不起作用: ModelMapper modelMapper = new Mode
我有一个结构如下的源对象: class SourceA { int www; SourceB sourceB; } class SourceB { int xxx; int yyy;
当我尝试通过枚举将源中的字符串映射到目标中的整数时。 ModelMapper 失败。 来源 public class Request { private String classificati
我正在尝试使用 ModelMapper 将一种对象类型映射到另一种对象类型。我在 PropertyMap 实现中定义了以下映射: map().getExtended().setIncludeMaskT
我想对我的一个实体进行部分更新,但如果一个属性为 null,则要更新的实体也会将该值设置为 null。我希望如果源中的某个属性为 null,则保留源中的属性。 我已经尝试过,但没有运气: @B
我有以下 DTO 和 VO: 话音 public class ProjectVO { private Date fechaInicio; private Date fechaFin;
我正在尝试将字符串转换为日期,但转换器似乎没有被触发,并且我收到了 MappingException。这是我的代码: @Bean public ModelMapper modelMap
假设我有类 MySource: public class MySource { public String fieldA; public String fieldB; publ
当我尝试通过枚举将源中的字符串映射到目标中的整数时。 ModelMapper 失败。 来源 public class Request { private String classificati
我正在尝试使用 ModelMapper 将源映射到目标。 在我的具体情况下,在源类中有一个属性(评论列表),我必须在其中按评级求和并将该值设置为目标类。 所以我尝试使用转换器,但它不起作用。
我在映射稍微复杂一点的对象时遇到问题,实际上它只映射了对象的一半。 对象是: { "firstName": "John", "lastName": "John", "description": "It
我正在尝试使用 ModelMapper 映射以下 json,如此处所述 http://modelmapper.org/user-manual/gson-integration/但我收到 NullPoi
class A { class ADto { int id; -> int id; List b; List
我有以下实体类: class Provider{ private String providerId; private String identificationNumber;
我的结构类似于下面的: public class FirstObject { private List myListOne; ...only getter method...
我在使用 ModelMapper 框架时遇到了麻烦。请解释为什么我看到以下行为。 我在 build.gradle 中有以下依赖项 compile group: 'org.modelmapper', n
我有:返回 Date 对象的 Object1.getDataObject2.setData 获取一个字符串并填充他的字段。 我将以 yyyy-MM-dd 格式将数据对象从 src 映射到 String
我是一名优秀的程序员,十分优秀!