【发布时间】:2018-04-12 07:39:28
【问题描述】:
我正在将 Dto 映射到域对象。域是不可变的,因此没有 ModelMapper 抱怨的无参数构造函数。
有没有办法让 ModelMapper 通过构造函数而不是 setter 来构造对象?
我的 Dto 有 6 个成员变量,但我的域少了 2 个(名称和类型相同),所以我猜构造函数的创建可能并不简单。
【问题讨论】:
标签: java dto modelmapper
我正在将 Dto 映射到域对象。域是不可变的,因此没有 ModelMapper 抱怨的无参数构造函数。
有没有办法让 ModelMapper 通过构造函数而不是 setter 来构造对象?
我的 Dto 有 6 个成员变量,但我的域少了 2 个(名称和类型相同),所以我猜构造函数的创建可能并不简单。
【问题讨论】:
标签: java dto modelmapper
本示例配置了一个 ModelMapper 以允许匹配私有字段,因此您不需要 setter 或 getter 或构造函数来映射对象:
ModelMapper modelMapper = new ModelMapper();
modelMapper.getConfiguration()
.setFieldMatchingEnabled(true)
.setFieldAccessLevel(AccessLevel.PRIVATE);
【讨论】:
这样,您可以根据源对象控制如何创建目标对象。
【讨论】: