----转载请注明出处...incroot
好累好累 , 一点点的看太累了 , 就找一些常用的基本的配置写出来记录好了
几乎所有的配置都可以分为全局 mapping 和字段级的配置 , 按自己的需要配置吧 !!!
注意 :Dozer 是绝大多数操作是根据 getter 和 setter 方法来执行的 , 所以如果你没有定义这些方法的话 ……… 后果自负吧 !!
最好结合 Dozer 的源码去看 , 效果会非常非常非常的好
根据给我介绍 Dozer 的老师的习惯用语 , 称之为 ” 好厉害的 DozerMapper” 配置方法 :
字符串和日期类型的映射 : ( 全局级的配置 )
<configuration> <date-format>MM/dd/yyyy HH:mm</date-format> </configuration> 集合映射 :
集合之间完全复制覆盖的操作
<field>
<a>arrayForLists</a><!-- changing an Integer [] to List and back again -->
<b>listForArray</b>
<b-hint>java.lang.String</b-hint> <!— 注意看这段 指定目标字段的类型 -->
</field>
集合之间 更新 和添加的操作
Dozer 非常的聪明, 他还支持将一个集合的内容添加或者更新到另外一个集合当中, 只是需要在xml 文件当中指定relationship-type 的值(non-cumulative| cumulative) dozer 是根据contains() 这个方法去判断的, 如果使用了relationship-type 这个属性, 那么默认就是'cumulative' 的
<mappings>
<mapping relationship-type="non-cumulative">
<class-a>org.dozer.vo.TestObject</class-a>
<class-b>org.dozer.vo.TestObjectPrime</class-b>
<field>
<a>someList</a>
<b>someList</b>
</field>
</mapping>
</mappings>