BeanUtils提供对Java反射和自省API的包装。其主要目的是利用反射机制对JavaBean的属性进行处理。我们知道,一个JavaBean通常包含了大量的属性,很多情况下,对JavaBean的处理导致大量get/set代码堆积,增加了代码长度和阅读代码的难度。

注意:属性复制,不同jar中的方法,用法不一样。

1、package org.springframework.beans;中的

   BeanUtils.copyProperties(A,B);是A中的值付给B

FinCpDocDO finCpDoc = finCpDocService.selectByDocNo(orderNo);
FinCpDocDto finCpDto = new FinCpDocDto();
if (finCpDoc == null){
throw new ServiceException(“查无该订单” + “orderNo:” + orderNo);
}
try{
BeanUtils.copyProperties(finCpDoc, finCpDto);

2、package org.apache.commons.beanutils;(常用)

    BeanUtils.copyProperties(A,B);是B中的值付给A

for(OboFeeDO feeDO : oboFeeList){
if(feeDO.getPayTime()!=null){
ErpOboFeeDto feeDto = new ErpOboFeeDto();
BeanUtils.copyProperties(feeDto, feeDO);
oboFeList.add(feeDto);
}
}

==================================================================
BeanUtils提供对Java反省和自省API的包装。主要目的是利用反射机制对JavaBean的属性进行处理。由于一个JavaBean通常会包含较多属性,很多情况下需要对JavaBean进行处理导致大量get/set代码堆积,增加了代码长度和阅读代码的难度。

于是BeanUtils.copyProperties(A,B)提供了JavaBean之间的属性复制。当然这个方法值对于相同属性之间的复制,当两个实体中存在不同属性时,BeanUtils无法对其进行处理,需程序员使用的set()方法进行处理。目前有两套BeanUtils的jar可以进行复制操作,但是用法不太一样:① package org.springframework.beans;BeanUtils.copyProperties(A,B) --> 是将A中的值赋值给B② package org.apache.commons.beanutils;(常用)BeanUtils.copyProperties(A,B) -->  是将B中的值赋值给ABeanUtils.copyProperties(A,B)针对ArrayList的copyList<Object> listOrigin (with data)
List<Object> listDestination= new ArrayList<Object>(); for (Object source: listOrigin ) {Object target= new Object();BeanUtils.copyProperties(source , target);listDestination.add(target);}
补充:除BeanUtils外还有一个名为PropertyUtils的工具类,也提供copyProperties(A,B)方法,与BeanUtils的十分相似,但还是有区别的:BeanUtils提供类型转换功能,即发现两个JavaBean的同名属性为不同类型时,在支持的数据类型范围内进行转换,而前者不支持这个功能,但是速度会更快一些。详情参考:https://www.cnblogs.com/HassanBlog/articles/3200239.html注意:BeanUtils和PropertyUtils中复制属性的使用效率都不高,执行时间会很慢。需要谨慎使用。附原理及重写方案:重写BeanUtils.copyProperties(复制对象属性方法)

BeanUtils.copyProperties使用相关推荐

  1. (转载)BeanUtils.copyProperties() 用法

    BeanUtils.copyProperties() 用法 标签: hibernateuserjdbc数据库strutsjava 2009-10-17 23:04 35498人阅读 评论(6) 收藏  ...

  2. 使用BeanUtils.copyProperties进行对象之间的属性赋值

    1.使用org.springframework.beans.BeanUtils.copyProperties方法进行对象之间属性的赋值,避免通过get.set方法一个一个属性的赋值 /*** 对象属性 ...

  3. BeanUtils.copyProperties VS PropertyUtils.copyProperties

    1. 通过反射将一个对象的值赋值个另外一个对象(前提是对象中属性的名字相同). 2. BeanUtils.copyProperties(obj1,obj2); 经常闹混不知道是谁给谁赋值,无意中先到& ...

  4. 小知识点BeanUtils.copyProperties

     通过BeanUtils.copyProperties可以时间拷贝对象中的值,下面的new String[]{"cid","agreeFlag"," ...

  5. java对象复制到另一个对象中_spring: beanutils.copyproperties将一个对象的数据塞入到另一个对象中(合并对象)...

    spring: beanutils.copyproperties将一个对象的数据塞入到另一个对象中(合并对象) 它的出现原因: BeanUtils提供对Java反射和自省API的包装.其主要目的是利用 ...

  6. BeanUtils.copyProperties

    BeanUtils.copyProperties("转换后的类", "要转换的类"); 转载于:https://www.cnblogs.com/lqtbk/p/ ...

  7. BeanUtils.copyProperties与PropertyUtils.copyProperties用法及区别

    转自:http://www.cnblogs.com/fayf/articles/1272982.html 一.简介:BeanUtils提供对Java反射和自省API的包装.其主要目的是利用反射机制对J ...

  8. spring BeanUtils.copyProperties浅拷贝之特殊的Boolean

    背景 在开发过程中, 在数据库查询和接口调用过程中,为了隔离,我们往往会将查询出来的对象(包括数据库返回和接口返回)和对外提供的实体对象隔离开来.此时就需要把一个对象的属性拷贝到目标对象中 通常有2种 ...

  9. BeanUtils.copyProperties() 用法

    转载自 https://blog.csdn.net/jdjdndhj/article/details/62056137 第一步: BeanUtils.copyProperties()与Property ...

  10. BeanUtils.copyProperties()使用详解+在不同包的区别

    一. 两个包下的BeanUtils.copyProperties对比 BeanUtils是开发中常用到的工具类. 而获取这一工具类常用的方法有两种 org.springframework.beans. ...

最新文章

  1. IIS6、7添加反向代理的步骤
  2. linus下centos7防火墙设置
  3. jQuery Ajax
  4. 给楠哥准备的入门单片机
  5. java createstatement,createStatement参数说明
  6. [7] ADB 模拟按键/输入
  7. (c语言)输出1到100之间的所有素数
  8. mysql 主从特性_mysql 5.6 新特性 主从推延
  9. python类似turtle的库_Python库——turtle
  10. 卸载计算机安全证书,卸载https证书详细的步骤有哪些
  11. android 百度地图定位图标素材,百度地图定位开发图标大全 百度地图开发可以用到的一些实用标注/图标(baidu map development) - 下载 - 搜珍网...
  12. C语言学习笔记(自用)(1):初识C语言
  13. 动软代码生成器基础使用
  14. TM1637芯片驱动数码管 – play with TM1637 seven segment display driver
  15. 02-Lynda备用
  16. STM32使用OLED显示一个简单的计数器
  17. Base64编码和Python解码
  18. <<算法很美>>——(三)十大排序算法(下)
  19. 深入浅出通信原理2021-03-07
  20. 【项目管理/PMP/PMBOK第六版/新考纲】易错单选题20道带答案解析!

热门文章

  1. 货物与产品的区别_商品与一般物品和其他产品有什么区别?
  2. 鸿蒙公测第二期报名地址,鸿蒙2.0第二期公测报名入口及参加方法
  3. 技术面试者的技术深度和广度
  4. EBS AP 创建会计科目失败
  5. [LeetCode]Trapping Rain Water
  6. jquery版瀑布流
  7. 后序非递归遍历二叉树的应用
  8. Ext Scheduler(日程表) 2.0——升级到4.0
  9. XML命名空间和相关类简介
  10. 一个关于C++ Inline关键字的引发的一个错误