Dozer除了默认的模型转化,还可以通过配置map方法或者XML配置文件来进行自定义转化
例如我们要将Date类型转化为格式化后的结果
//进行转化时配置
BeanMappingBuilder configure = new BeanMappingBuilder() {
@Override
protected void configure() {
mapping(SourceObj.class, TargetObj.class, TypeMappingOptions.dateFormat("yyyy-MM-dd"));
}
};
//创建Dozer
DozerBeanMapper dozer = new DozerBeanMapper();
//添加配置
dozer.addMapping(configure);
//进行转化
dozer.map(source, target);
如果在source和target中有两个日期时间,一个叫 firstDate 一个叫 secondDate 想使用不同的格式化
@Override
protected void configure() {
//为first配置横杠格式化
mapping(SourceObj.class, TargetObj.class, TypeMappingOptions.dateFormat("yyyy-MM-dd")).fields("firstDate","firstDate");
//为second配置斜杠格式化
mapping(SourceObj.class, TargetObj.class, TypeMappingOptions.dateFormat("yyyy/MM/dd")).fields("secondDate","secondDate");
}
在HTTP中接受字符串日期想自动转化成Date类型,可以采用Spring的注解 DateTimeFormat 参考文章
在Java层返回给HTTP的Object时想把Date类型再转化成字符串类型,可以通过