Dozer-对象属性映射工具类

Dozer-对象属性映射工具类

工具类代码:

import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;

import org.dozer.DozerBeanMapper;
import org.dozer.Mapper;

/**
 * <pre>对象属性映射工具类</pre>
 * @author lmw
 *
 */
public class MapperUtil {
    private static final Mapper mapper = new DozerBeanMapper();

    /**
     * <pre>映射一个对象的属性到另外一个对象</pre>
     * @param obj 需要被映射属性的对象
     * @param t 需要映射属性的对象类型,Class类型
     * @return
     */
    public static <T> T mapBean(Object obj, Class<T> t) {
        if(null == obj)
            return null;
        return mapper.map(obj, t);
    }

    /**
     * <pre>映射一个List的属性到另外一个List</pre>
     * @param objList 需要被映射属性的List
     * @param t 需要映射属性的对象类型,Class类型
     * @return
     */
    public static <T> List<T> mapList(List<?> objList, Class<T> t) {
        List<T> list = new CopyOnWriteArrayList<>();
        if(null != objList && !objList.isEmpty()) {
            for(Object o:objList) {
                list.add(mapper.map(o, t));
            }
        }
        return list;
    }
}

需要导入maven依赖

<dependency>
    <groupId>net.sf.dozer</groupId>
    <artifactId>dozer</artifactId>
    <version>5.5.1</version>
</dependency>

原文地址:https://www.cnblogs.com/lmw97/p/12050520.html

时间: 2024-10-22 06:34:42

Dozer-对象属性映射工具类的相关文章

对象属性拷贝工具类的性能比较

一.对象属性拷贝工具类 ”天下武功,唯快不破“.在互联网行业中体现的更加淋淋尽致.我们在业务系统会经常遇到业务对象间属性的拷贝,对如外接口一般都使用特定的DTO对象,而不会使用领域模型,以避免两者的变动互相影响.我们不仅要关注“快”,还要注重CPU的稳定即避免CPU使用的大起大落现象.如何高效完成属性的拷贝并降低对CPU的使用率或避免CPU的抖动. 相关博文已经有很多,为什么还要自己在一篇类似的哪?原因有二:一是加深理解二是比较各自优劣.目前对象间属性的拷贝常用的方法大致如下: 手动拷贝(set

属性储存工具类SpUtils

属性储存工具类SharedPreferencesUtils package com.flyou.utils; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.Map; import android.content.Context; import android.content.SharedPreferences; public class S

java中map和对象互转工具类的实现示例

在项目开发中,经常碰到map转实体对象或者对象转map的场景,工作中,很多时候我们可能比较喜欢使用第三方jar包的API对他们进行转化,而且用起来也还算方便,比如像fastJson就可以轻松实现map和对象的互转,但这里,我想通过反射的方式对他们做转化,也算是对反射的学习和研究吧: 1.map转对象: 主要思路,将map中的key-value取出来,然后和给定的对象去匹配,为了使工具方法更具通用性,直接通过反射的方式将给定对象的属性获取到,然后调用反射相关的API和map中的key-value进

Java中自定义对象使用Collections工具类中的Sort方法

Collections工具类中的sort方法有两种形式: (1) sort(List<T> list) (2) sort(List<T> list, Comparator<? super T> c) 第一种方法中List类型的对象必须实现Comparable接口,此外,List中的元素必须可比较. 我们先定义类 package com.dongye.sort; import java.util.ArrayList; import java.util.Collection

java读取属性配置文件工具类

import java.io.IOException; import java.io.InputStream; import java.util.Properties; /** * * 类: ProUtil <br> * 描述: 属性配置文件读取类 <br> * 作者: poseidon<br> * 版本: 1.0<br> * 时间: 2015-7-17 上午09:20:17 */ public class ProUtil { /* 私有构造方法,防止被实例

编写实现连接oracle数据库并返回Connection对象的Java工具类

只需要实现一个功能,所以只写一个方法,为了方便调用,设为静态方法 1 package com.jv; 2 3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 6 public class Lianjie { 7 8 //静态方法获取连接对象 9 public static Connection getLianj() throws Exception 10 { 11 12 Class.forName("oracle.jd

电商商品规则属性sku 工具类

/** * 商品模块: * 使用:var SKU = sku.init({ id:'sku', item: item, data:data }); * @config item = [{"id":1,"name":"职位","sub":[{"id":1,"name":"adc"},{"id":2,"name":"辅助&

对象映射工具AutoMapper介绍

AutoMapper是用来解决对象之间映射转换的类库.对于我们开发人员来说,写对象之间互相转换的代码是一件极其浪费生命的事情,AutoMapper能够帮助我们节省不少时间. 一. AutoMapper解决了什么问题? 要问AutoMapper解决了什么问题? 难道不是对象映射转换的问题吗? 当然是,不过我们可以问深入一些,为什么项目中会出现大量的对象映射转换?(以下对于非MVC项目也适用) 在现代的软件开发中,项目的层级更加的细分,而不同层级之间对于对象的需求是有区别的,这就需要在不同层级间传递

类属性和对象属性

类属性和对象属性定义 Python一切皆对象(object),每个对象都可能有多个属性(attribute).Python的属性有一套统一的管理方案. 对象的属性可能来自于其类定义,叫做类属性(class attribute).类属性可能来自类定义自身,也可能根据类定义继承来的. 一个对象的属性还可能是该对象实例定义的,叫做对象属性(object attribute). 对象的属性储存在对象的__dict__属性中. dir() 返回的仅是对象的属性的一个名字类表,而 __dict__ 返回的是