BeanUtils.copyProperties使用
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使用相关推荐
- (转载)BeanUtils.copyProperties() 用法
BeanUtils.copyProperties() 用法 标签: hibernateuserjdbc数据库strutsjava 2009-10-17 23:04 35498人阅读 评论(6) 收藏 ...
- 使用BeanUtils.copyProperties进行对象之间的属性赋值
1.使用org.springframework.beans.BeanUtils.copyProperties方法进行对象之间属性的赋值,避免通过get.set方法一个一个属性的赋值 /*** 对象属性 ...
- BeanUtils.copyProperties VS PropertyUtils.copyProperties
1. 通过反射将一个对象的值赋值个另外一个对象(前提是对象中属性的名字相同). 2. BeanUtils.copyProperties(obj1,obj2); 经常闹混不知道是谁给谁赋值,无意中先到& ...
- 小知识点BeanUtils.copyProperties
通过BeanUtils.copyProperties可以时间拷贝对象中的值,下面的new String[]{"cid","agreeFlag"," ...
- java对象复制到另一个对象中_spring: beanutils.copyproperties将一个对象的数据塞入到另一个对象中(合并对象)...
spring: beanutils.copyproperties将一个对象的数据塞入到另一个对象中(合并对象) 它的出现原因: BeanUtils提供对Java反射和自省API的包装.其主要目的是利用 ...
- BeanUtils.copyProperties
BeanUtils.copyProperties("转换后的类", "要转换的类"); 转载于:https://www.cnblogs.com/lqtbk/p/ ...
- BeanUtils.copyProperties与PropertyUtils.copyProperties用法及区别
转自:http://www.cnblogs.com/fayf/articles/1272982.html 一.简介:BeanUtils提供对Java反射和自省API的包装.其主要目的是利用反射机制对J ...
- spring BeanUtils.copyProperties浅拷贝之特殊的Boolean
背景 在开发过程中, 在数据库查询和接口调用过程中,为了隔离,我们往往会将查询出来的对象(包括数据库返回和接口返回)和对外提供的实体对象隔离开来.此时就需要把一个对象的属性拷贝到目标对象中 通常有2种 ...
- BeanUtils.copyProperties() 用法
转载自 https://blog.csdn.net/jdjdndhj/article/details/62056137 第一步: BeanUtils.copyProperties()与Property ...
- BeanUtils.copyProperties()使用详解+在不同包的区别
一. 两个包下的BeanUtils.copyProperties对比 BeanUtils是开发中常用到的工具类. 而获取这一工具类常用的方法有两种 org.springframework.beans. ...
最新文章
- IIS6、7添加反向代理的步骤
- linus下centos7防火墙设置
- jQuery Ajax
- 给楠哥准备的入门单片机
- java createstatement,createStatement参数说明
- [7] ADB 模拟按键/输入
- (c语言)输出1到100之间的所有素数
- mysql 主从特性_mysql 5.6 新特性 主从推延
- python类似turtle的库_Python库——turtle
- 卸载计算机安全证书,卸载https证书详细的步骤有哪些
- android 百度地图定位图标素材,百度地图定位开发图标大全 百度地图开发可以用到的一些实用标注/图标(baidu map development) - 下载 - 搜珍网...
- C语言学习笔记(自用)(1):初识C语言
- 动软代码生成器基础使用
- TM1637芯片驱动数码管 – play with TM1637 seven segment display driver
- 02-Lynda备用
- STM32使用OLED显示一个简单的计数器
- Base64编码和Python解码
- <<算法很美>>——(三)十大排序算法(下)
- 深入浅出通信原理2021-03-07
- 【项目管理/PMP/PMBOK第六版/新考纲】易错单选题20道带答案解析!