dozer比beanUtills更健壮的对象转换工具

Dozer提供了2种方式去配置需要mapping的类,一种是基于XML,一种是基于API,API的方式是5.3版本才开始提供的,主要是为了解决xml方式不可动态修改mapping配置的问题。



注解解决名称不同


配置文件xml解决文件不同

支持两个对象间的同一属性的类型是异构的对象,比如CarDTOengine属性是EngineDTO Carengine属性是Engine

 

支持String <-> 基础类型的转换,比如CarDTOprice属性是String, Carprice属性是Double.

 

支持Collection类型间的转换,比如String[] <-> List

 

支持双向依赖,比如Product有个属性是List parts, 而每个Part也有一个Product属性,此时ProductPart双向依赖了。

 

属性名实在不一致时,可以用@Mapping定义,而且只在其中一边定义就可以了。

 

Dozer 也有个缺点,必须基于getter/setter,不能直接访问public field


你可能感兴趣的:(知识点)