BeanUtils.copyProperties 方法

一、简介
	BeanUtils提供对Java反射和自省API的包装。其主要目的是利用反射机制对JavaBean的属性进行处理。我们知道,一个JavaBean通常包含了大量的属性,很多情况下,对javaBean的处理导致大量get/set代码堆积,增加了代码长度和阅读代码的难度。	
二、功能
	1.spring的BeanUtils.copyProperties(obj1, obj2) 的方法
		将obj1 的属性值 赋值 给 obj2 的对应属性,不同的属性不会进行赋值。
	2.spring的PropertyUtils.copyProperties(obj1, obj2) 的方法
		BeanUtils.copyProperties(obj1, obj2) 方法类似,多提供了类型转换功能(即发现两个JavaBean的同名属性为不同类型时,在支持的数据类型范围
 内进行转换,如:java.util.Date是不被支持的,而它的子类java.sql.Date是被支持的);不过,效率差点。
 3.Apache  的 commons组件 的copyProperties(aValue, aLocal)方法 		从aLocal对象复制属性到aValue对象(据说:消耗很大)。
转载于:http://blog.csdn.net/shimiso

 
 
对象拷贝开源的解决方案,列出一些常见的如下:

Easy-mapper

这些框架在使用中或多或少都会存在一些问题:
1、扩展性不高,例如自定义的属性转换往往不太方便。
2、属性名相同、类型不匹配或者类型匹配、属性名不同,不能很好的支持。
3、不支持Java8的lambda表达式。
4、一些框架性能不佳,例如Apache的两个和Dozer(BeanCopier使用ASM字节码生成技术,性能会非常好)。
5、对象的clone拷贝往往并不是使用者需要的,一般场景引用拷贝即可满足要求。
6、部分拷贝还未实现,如:映射注册后,再次调整映射注册不了。

                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值