Dozer 简单封装实现深度转换Bean<->Bean的Mapper

来源:互联网 发布:华讯网络 怎么样 编辑:程序博客网 时间:2024/06/05 15:58
/** * 简单封装Dozer, 实现深度转换Bean<->Bean的Mapper.实现: *   * 1. 持有Mapper的单例.  * 2. 返回值类型转换. * 3. 批量转换Collection中的所有对象. * 4. 区分创建新的B对象与将对象A值复制到已存在的B对象两种函数. *  */public class BeanMapper {/** * 持有Dozer单例, 避免重复创建DozerMapper消耗资源. */private static DozerBeanMapper dozer = new DozerBeanMapper();/** * 基于Dozer转换对象的类型. */public static <T> T map(Object source, Class<T> destinationClass) {return dozer.map(source, destinationClass);}/** * 基于Dozer转换Collection中对象的类型. */@SuppressWarnings("rawtypes")public static <T> List<T> mapList(Collection sourceList, Class<T> destinationClass) {List<T> destinationList = Lists.newArrayList();for (Object sourceObject : sourceList) {T destinationObject = dozer.map(sourceObject, destinationClass);destinationList.add(destinationObject);}return destinationList;}/** * 基于Dozer将对象A的值拷贝到对象B中. */public static void copy(Object source, Object destinationObject) {dozer.map(source, destinationObject);}}

0 0
原创粉丝点击