(转载)BeanUtils.copyProperties() 用法
BeanUtils.copyProperties() 用法
一、简介:
BeanUtils提供对Java反射和自省API的包装。其主要目的是利用反射机制对JavaBean的属性进行处理。我们知道,一个JavaBean通常包含了大量的属性,很多情况下,对JavaBean的处理导致大量get/set代码堆积,增加了代码长度和阅读代码的难度。
二、用法:
如果你有两个具有很多相同属性的JavaBean,一个很常见的情况就是Struts里的PO对象(持久对象)和对应的ActionForm。例如:一个用户注册页面,有一个User实体类和一个UserActionForm,我们一般会在Action里从ActionForm构造一个PO对象,传统的方式是使用类似下面的语句对属性逐个赋值:
- // 获取 ActionForm 表单数据
- UserActionForm uForm = (UserActionForm) form;
- // 构造一个User对象
- User user = new User();
- // 逐一赋值
- user.setUsername(uForm.getUsername);
- user.setPassword(uForm.getPassword);
- user.setAge(uForm.getAge);
- ...........
- ...........
- // 然后调用JDBC、或操作Hibernate 持久化对象User到数据库
- ...
- <span style="font-size: large;">// 获取 ActionForm 表单数据
- UserActionForm uForm = (UserActionForm) form;
- // 构造一个User对象
- User user = new User();
- // 逐一赋值
- user.setUsername(uForm.getUsername);
- user.setPassword(uForm.getPassword);
- user.setAge(uForm.getAge);
- ...........
- ...........
- // 然后调用JDBC、或操作Hibernate 持久化对象User到数据库
- ...
- </span>
通过这样的方法如果表单数据N多、100、1000(夸张点。哈哈)、、、、那我们不是要写100、、、1000行set、get了。谁都不愿意这样做。
而我们使用 BeanUtils.copyProperties() 方法以后,代码量大大的减少,而且整体程序看着也简洁明朗,代码如下:
- // 获取 ActionForm 表单数据
- UserActionForm uForm = (UserActionForm) form;
- // 构造一个User对象
- User user = new User();
- // 赋值
- BeanUtils.copyProperties(user, uForm);
- // 然后调用JDBC、或操作Hibernate 持久化对象User到数据库
- .......
- <span style="font-size: large;">// 获取 ActionForm 表单数据
- UserActionForm uForm = (UserActionForm) form;
- // 构造一个User对象
- User user = new User();
- // 赋值
- BeanUtils.copyProperties(user, uForm);
- // 然后调用JDBC、或操作Hibernate 持久化对象User到数据库
- .......
- </span>
很方便是吧。
注:如果User和UserActionForm 间存在名称不相同的属性,则BeanUtils不对这些属性进行处理,需要手动处理。例如:
User类里面有个createDate 创建时间字段,而UserActionForm里面无此字段。BeanUtils.copyProperties()不会对此字段做任何处理。必须要自己手动处理。
本文来自:http://starzhang.javaeye.com/blog/361954
转载于:https://www.cnblogs.com/liupengfei005257/p/7447189.html
(转载)BeanUtils.copyProperties() 用法相关推荐
- BeanUtils.copyProperties() 用法
转载自 https://blog.csdn.net/jdjdndhj/article/details/62056137 第一步: BeanUtils.copyProperties()与Property ...
- BeanUtils.copyProperties与PropertyUtils.copyProperties用法及区别
转自:http://www.cnblogs.com/fayf/articles/1272982.html 一.简介:BeanUtils提供对Java反射和自省API的包装.其主要目的是利用反射机制对J ...
- BeanUtils.copyProperties的用法
前言 org.springframework.beans.BeanUtils,它提供了对java反射和自省API的包装.它里面还有很多工具类,这里我们介绍一下copyProperties. 我们如果有 ...
- 关于BeanUtils.copyProperties的用法和优缺点
一.简介: BeanUtils提供对Java反射和自省API的包装.其主要目的是利用反射机制对JavaBean的属性进行处理.我们知道,一个JavaBean通常包含了大量的属性,很多情况下,对Jav ...
- BeanUtils.copyProperties VS PropertyUtils.copyProperties
1. 通过反射将一个对象的值赋值个另外一个对象(前提是对象中属性的名字相同). 2. BeanUtils.copyProperties(obj1,obj2); 经常闹混不知道是谁给谁赋值,无意中先到& ...
- BeanUtils.copyProperties
BeanUtils.copyProperties("转换后的类", "要转换的类"); 转载于:https://www.cnblogs.com/lqtbk/p/ ...
- BeanUtils.copyProperties使用
BeanUtils提供对Java反射和自省API的包装.其主要目的是利用反射机制对JavaBean的属性进行处理.我们知道,一个JavaBean通常包含了大量的属性,很多情况下,对JavaBean的处 ...
- spring BeanUtils.copyProperties只拷贝不为null的属性
在MVC的开发模式中经常需要将model与pojo的数据绑定,apache和spring的工具包中都有BeanUtils,使用其中的copyProperties方法可以非常方便的进行这些工作,但在实际 ...
- 使用BeanUtils.copyProperties进行对象之间的属性赋值
1.使用org.springframework.beans.BeanUtils.copyProperties方法进行对象之间属性的赋值,避免通过get.set方法一个一个属性的赋值 /*** 对象属性 ...
最新文章
- PHP文件打包类和实例
- 项目中使用CLR编程
- django ajax 简书,Django_ajax
- 串口通讯编程一日通1(整合资料) .
- 京东技术全景图首次展示 四大重磅智能技术驱动产业未来
- 2021年95后“他经济”研究报告
- synchronized猎奇
- textarea的maxlength属性兼容解决方案
- iso硬盘安装 凤凰os_凤凰os系统下载_凤凰系统phoenix os官方下载-188软件园
- 你们心心念念的 GitHub 客户端终于来了!
- 【JAVA】java代码实现print2Flash转swf文件,百度文库一样。
- 同济版《线性代数》再遭口诛笔伐,网友:它真的不太行...
- 高级UI-滤镜和颜色通道
- 苹果电脑表格取消自动计算机,苹果电脑excel序列被隐藏怎么办
- 键盘侠小心了!微博或将推出“杠精”示众功能
- android平板怎么快速截屏,平板怎样截图(iPad截屏的3种方式)
- 植物研究最新进展(2021年11月)
- dell服务器系统备份软件,使用 AlienRespawn 备份 Alienware 电脑的系统
- 计算机桌面来回闪烁,电脑进去桌面就一直闪
- 在php中phr是什么意思,phr. 相当多的_____