- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
无论我做什么,Dozer 都不会调用我的 CustomConverter
。我尝试放置断点,但没有调用任何 CustomerConverter
代码。对象正在转换,除了链接到 CustomConverter
的字段之外的所有字段都在工作。
在我的 dozerBeanMapping.xml
文件中我有:
<configuration>
<custom-converters>
<converter type="converter.JodaDateToJavaDateConverter">
<class-a>org.joda.time.LocalDate</class-a>
<class-b>java.util.Date</class-b>
</converter>
</custom-converters>
</configuration>
<mapping type="one-way">
<class-a>data.SourceObject</class-a>
<class-b>data.DestinationObject</class-b>
<field custom-converter="converter.JodaDateToJavaDateConverter">
<a>myLocalDate</a>
<b>myJavaDate</b>
</field>
</mapping>
然后对于转换器我有:
package converter;
public class JodaDateToJavaDateConverter implements CustomConverter
{
@Override
public Object convert(Object destination, Object source, Class<?> destinationClass, Class<?> sourceClass)
{
if(source == null)
return null;
if(!(source instanceof LocalDate))
throw new MappingException("Misconfigured/unsupported mapping");
return ((LocalDate)source).toDateTimeAtStartOfDay().toDate();
}
}
对于我拥有的对象:
package data;
public class SourceObject
{
private LocalDate myLocalDate = LocalDate.now();
public void setMyLocalDate(LocalDate myLocalDate) { this.myLocalDate = myLocalDate; }
public LocalDate getMyLocalDate() { return myLocalDate; }
}
package data;
public class DestinationObject
{
private Date myJavaDate;
public void setMyJavaDate(Date myJavaDate) { this.myJavaDate = myJavaDate; }
public Date getMyJavaDate() { return myJavaDate; }
}
我认为没有任何区别,但这是开始这一切的代码:
SourceObject mySourceObject = DozerBeanMapperSingletonWrapper.getInstance().map(DestinationObject, SourceObject.class);
我不知道为什么我的自定义转换器没有被调用...
更新:我现在更加困惑了。如果目标和源对象的字段名称相同,则一切正常。无论出于何种原因,我无法映射具有不同名称的字段...
最佳答案
在您的映射调用中,您将 DestinationObject 映射到 SourceObject,而在 dozerBeanMapping.xml
中,您指定您的自定义转换器仅在将 SourceObject 映射到 DestinationObject 时使用,而不是其他方式回合(由于 type=one-way
)。
当您使用相同的字段名称时,通用配置将变为 Activity 状态,您在其中指定每个 org.joda.time.LocalDate
都应映射到一个 java.util.Date
(反之亦然)使用您的自定义转换器。
关于java - 推土机不调用我的 CustomConverters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31226850/
无论我做什么,Dozer 都不会调用我的 CustomConverter。我尝试放置断点,但没有调用任何 CustomerConverter 代码。对象正在转换,除了链接到 CustomConvert
我正在使用 Orika 1.4.6,我想使用 CustomConverter 来映射我的字段之一。当源字段为空时,转换器似乎没有被调用。这是我的代码: class From { String
如何使用 Spring Boot 在我的 MongoTemplate 中注册自定义转换器?如果可能,我只想使用注释来做到这一点。 最佳答案 我只是注册了bean: @Bean public Mongo
我是一名优秀的程序员,十分优秀!