Java Dozer映射到没有默认构造函数的库类

Java Dozer映射到没有默认构造函数的库类,java,dozer,Java,Dozer,我试图使用Dozer映射到一个目标库类,该库类有一个定义为接口的字段,我得到一个错误:- Caused by: java.lang.NoSuchMethodException: .<init>() at java.base/java.lang.Class.getConstructor0(Class.java:3508) ~[na:na] at java.base/java.lang.Class.getDeclaredConstructor(Class.java:2711) 原因

我试图使用Dozer映射到一个目标库类,该库类有一个定义为接口的字段,我得到一个错误:-

Caused by: java.lang.NoSuchMethodException: 
.<init>()
at java.base/java.lang.Class.getConstructor0(Class.java:3508) ~[na:na]
at java.base/java.lang.Class.getDeclaredConstructor(Class.java:2711) 
原因:java.lang.NoSuchMethodException:
.()
在java.base/java.lang.Class.getConstructor0(Class.java:3508)~[na:na]
位于java.base/java.lang.Class.getDeclaredConstructor(Class.java:2711)
源类有一个匹配的字段,该字段的结构与该目标接口的一个实现完全相同。 我已经搜索过了,找不到任何合适的结果。 有谁能给我举个例子吗。
提前感谢。

Dozer并不隐式知道要应用于定义为接口的字段的具体类。映射需要包括有关如何映射该字段的信息。
一个选项是“通过引用复制”,它将从源中获取字段实例,并将其设置为目标上字段的值。源字段和目标字段实例必须兼容,在这种情况下,源字段需要是接口的实现。
另一个选项是告诉Dozer如何构造接口的实例。这可以通过字段映射上的BeanFactory完成。当映射字段以获取目标字段的实例时,Dozer将调用BeanFactory,而不是尝试调用该类上的构造函数。 第三个选项是为该字段创建自定义转换器,并在映射中指定使用自定义转换器。自定义转换器将实现目标字段实例的构造以及该目标字段实例的填充。请注意,映射器感知的自定义转换器可以在构建目标实例后回调到Dozer以映射该实例的字段