java 两个实体类转换_实体类之间的转换

这个博客介绍了如何使用 `BeanUtils` 工具类进行Java实体类之间的转换,包括单个对象转换、两个对象合并转换、忽略指定属性转换、批量对象转换等功能。该工具类基于Dozer库实现,提供了灵活的属性赋值和对象类型转换方法。
摘要由CSDN通过智能技术生成

packagecom.dongl.utils;importorg.dozer.DozerBeanMapper;importorg.springframework.beans.BeansException;importorg.springframework.beans.FatalBeanException;importorg.springframework.util.Assert;importorg.springframework.util.StringUtils;importjava.beans.PropertyDescriptor;importjava.lang.reflect.InvocationTargetException;importjava.lang.reflect.Method;importjava.lang.reflect.Modifier;import java.util.*;/***@authorD-L

* @Classname BeanUtils

* @Version 1.0

* @Description 通过无参数实例化对象和复制属性值的方式

* 完成实体类之间的转换

* 完成map->实体类

* 实体类->map

* 基于Dozer转换对象的类型

* 对bean的特定属性赋值

* @Date 2020/8/5*/

public class BeanUtils extendsorg.springframework.beans.BeanUtils{/*** 持有Dozer单例, 避免重复创建DozerMapper消耗资源.*/

private static DozerBeanMapper dozer = newDozerBeanMapper();/*** 通过无参数实例化目标对象和复制属性,将POJO对象转换成相应的对象

*

*@paramsource 原对象

*@paramtype 目标类型

*@return转换后的对象*/

public static T convert(Object source, Classtype) {

T target=instantiateClass(type);if (source == null) {returntarget;

}

copyProperties(source, target);returntarget;

}/*** 通过无参数实例化目标对象和复制属性,将两个POJO对象按照顺序转换成相应的对象

* 如果原对象有相同的属性 会出现属性值覆盖

*@paramsource1 原对象1

*@paramsource2 原对象2

*@paramtype 目标类型

*@param

*@return返回转换后的对象*/

public static T converts(Object source1, Object source2, Classtype) {

T target=instantiateClass(type);if (source1 == null && source2 == null) {returntarget;

}

copyProperties(source1, target);

copyPr

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值