【问题标题】:ModelMapper - DTO to ImmutableModelMapper - DTO 到不可变
【发布时间】:2018-04-12 07:39:28
【问题描述】:

我正在将 Dto 映射到域对象。域是不可变的,因此没有 ModelMapper 抱怨的无参数构造函数。

有没有办法让 ModelMapper 通过构造函数而不是 setter 来构造对象?

我的 Dto 有 6 个成员变量,但我的域少了 2 个(名称和类型相同),所以我猜构造函数的创建可能并不简单。

【问题讨论】:

    标签: java dto modelmapper


    【解决方案1】:

    本示例配置了一个 ModelMapper 以允许匹配私有字段,因此您不需要 setter 或 getter 或构造函数来映射对象:

    ModelMapper modelMapper = new ModelMapper();
    modelMapper.getConfiguration()
               .setFieldMatchingEnabled(true)
               .setFieldAccessLevel(AccessLevel.PRIVATE);
    

    来源:http://modelmapper.org/user-manual/configuration/中的配置示例

    【讨论】:

      【解决方案2】:

      尝试使用ModelMapper Converter

      这样,您可以根据源对象控制如何创建目标对象。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-03-13
        • 1970-01-01
        相关资源
        最近更新 更多