对于字段名称与类型完全一样时两者无区别。
特别注意BeanUtils: 第一个字母不需要大小写之外其他的部分是需要严格区分大小写的
项目中的通常都会遇到bean copy的场景spring,oracleApache都有自己的开源bean copy框架,大家常常会困扰到底哪个框架的性能最好下面对各个框架的性能测试,帮助大家在开发中使用合适自己的bean copy框架:
目前项目中使用的的几种BeanCope的框架:
直接用getset是最快的,如果实例字段比较少的情况下建议直接使用get,set
cglib在没有converter的情况下性能是最好嘚,如果有converter的话要具体看converter的实现总体速度也是很快的,建议不需要或简单converter场景的使用
Spring beanUtils 和orika在并发低情况下速度相当,当线程增加以及字段量增加的时候orika性能逐渐有优势(orika对于21属性和41属性速度差不多,而spring beanUtils由于是基于反射实现属性增加耗时也相应增加)。orika劣势在于需要初始化Factory每个类转换都需要注册到factory,使用起来比较繁琐orika优势在于字段量大,并发高的场景并且orika是深拷贝可以自己定义转换字段,所以推薦在需要的情况使用
Apache的相对比较慢,不建议使用
BeanCopier从名字可以看出了是一个快捷嘚bean类复制工具类。
如何使用我就直接丢代码了
对于字段名称与类型完全一样时两者无区别。
特别注意BeanUtils: 第一个字母不需要大小写之外其他的部分是需要严格区分大小写的