- 浏览: 494495 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (285)
- 数据库 (49)
- dwr (1)
- js (35)
- security (6)
- freemaker (4)
- 网站建设 (15)
- css (5)
- javaEE (56)
- 生活点滴 (12)
- 安装与配置 (16)
- ssh2 (13)
- 开源软件 (6)
- web 应用服务器 (6)
- 开发模式和设计模式 (2)
- linux (5)
- 项目管理 (7)
- 计算机杂症 (0)
- appScan (1)
- idea (3)
- android (1)
- java @override 报错处理 (1)
- lucene (5)
- java (2)
- groovy (1)
- Extjs (7)
- asp (2)
- php (2)
- Memcached (1)
- 名言 (1)
- 面试 (1)
- Jmeter (0)
- 微信支付 (1)
- app开发 (1)
- branch分支合并到trunk主干 (1)
- 自动化测试 (1)
- springClond (1)
- ELK (2)
最新评论
-
skykufo:
坑爹啊,我也因为写多了一个div,在ie8浪费了一天
jQuery加载(load、get、post)页面显示空白原因 -
yeyinzhu3211:
帅哥,我想问下,是怎么去除呀?能详细说明下吗?
IntelliJ IDEA 10.5.1 无法断点或停止不动 -
sshitaime:
怎么下载不了啊,能给我一个安装包吗
oracle 10g透明网关组件下载地址(新) -
fuanyu:
xiaohuafyle 写道被你的头像吓尿了 哥们有这么可怕呀 ...
netstat -aon -
wanlt_software:
谢谢。。。。。
oracle 10g透明网关组件下载地址(新)
commons beanutils之复制Bean属性
本文来自:http://fhd001.iteye.com/blog/440930
问题
你有两个相同类型的bean的实例,并需要将其中一个bean的属性复制到另一个中去.
解决方案
使用PropertyUtils.copyProperties()方法从一个bean复制属性到另一个bean.其中第一个参数
指定目的bean,而第二个参数是源bean:
Book book = new Book();
book.setName("Prelude to Poundation");
book.setAuthorName("Asimov");
Book destinationBook = new Book();
PropertyUtils.copyProperties(destinationBook,book);
PropertyUtils.copyProperties()方法从源bean实例中检索出所有属性的值,然后将
这些值赋给目的的实例中的相应属性.如果上面的示例中Book bean含有一个Author类型
的author属性,copyProperties()将把相同的引用对象赋给目的bean.换句话说,该方法
没有克隆bean属性的值.如例:
Author author = new Author();
author.setName("Zinsser");
Book book = new Book();
book.setName("On Writing well");
book.setAuthor(author);
Book destinationBook = new Book();
PropertyUtils.copyProperties(destionationBook,book);
if(book.getAuthor() == destinationBook.getAuthor()){
System.out.println("Author objects identical");
}
现在,两个对象中的author属性值都是Author类同一实例的引用.copyProperyties()并没
有复制bean属性的值.
copyProperties()方法还可以将一个Map的内容复制进bean中,前提是Map各键一一对应于目的
bean的各简单属性:
Map mapOrops = HashMap();
mapProps.put("name","The Art of computer rogramming");
mapProps.put("author","Knuth");
Book destinationBook = new Book();
PropertyUtils.copyProperties(destinationBook,mapProps);
- package test4;
- import java.lang.reflect.InvocationTargetException;
- import java.util.HashMap;
- import java.util.Map;
- import org.apache.commons.beanutils.PropertyUtils;
- /**
- * commons beanutils之复制Bean属性
- * @author fhd001
- */
- public class PropertyUtilsTest7 {
- public static void main(String[] args) {
- /*
- * 例子1 .
- */
- Person p1 = new Person();
- p1.setAge(12 );
- p1.setName("fhd" );
- Person p2 = new Person();
- try {
- PropertyUtils.copyProperties(p2, p1);
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- } catch (InvocationTargetException e) {
- e.printStackTrace();
- } catch (NoSuchMethodException e) {
- e.printStackTrace();
- }
- System.out.println("p2.age: " +p2.getAge()+ "\tp2.name:" +p2.getName());
- /*
- * 例子2 .证明没有克隆bean属性
- */
- Person p3 = new Person();
- p3.setAge(34 );
- p3.setName("ldh" );
- Book b1 = new Book();
- b1.setAuthor(p3);
- b1.setBookName("java" );
- Book b2 = new Book();
- try {
- PropertyUtils.copyProperties(b2, b1);
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- } catch (InvocationTargetException e) {
- e.printStackTrace();
- } catch (NoSuchMethodException e) {
- e.printStackTrace();
- }
- if (b1.getAuthor() == b2.getAuthor()) {
- System.out.println("证明: b1.getAuthor()与b2.getAuthor()返回同一个对象." );
- }
- /*
- * 例子3 .将map中的内容复制到bean中.
- */
- Map<String,Object> m1 = new HashMap<String,Object>();
- m1.put("age" , 31 );
- m1.put("name" , "fhd" );
- Person p6 = new Person();
- try {
- PropertyUtils.copyProperties(p6, m1);
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- } catch (InvocationTargetException e) {
- e.printStackTrace();
- } catch (NoSuchMethodException e) {
- e.printStackTrace();
- }
- System.out.println("p6.name: " +p6.getName()+ "\tp6.age: " +p6.getAge());
- }
- }
package test4; import java.lang.reflect.InvocationTargetException; import java.util.HashMap; import java.util.Map; import org.apache.commons.beanutils.PropertyUtils; /** * commons beanutils之复制Bean属性 * @author fhd001 */ public class PropertyUtilsTest7 { public static void main(String[] args) { /* * 例子1. */ Person p1 = new Person(); p1.setAge(12); p1.setName("fhd"); Person p2 = new Person(); try { PropertyUtils.copyProperties(p2, p1); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } catch (NoSuchMethodException e) { e.printStackTrace(); } System.out.println("p2.age: "+p2.getAge()+"\tp2.name:"+p2.getName()); /* * 例子2.证明没有克隆bean属性 */ Person p3 = new Person(); p3.setAge(34); p3.setName("ldh"); Book b1 = new Book(); b1.setAuthor(p3); b1.setBookName("java"); Book b2 = new Book(); try { PropertyUtils.copyProperties(b2, b1); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } catch (NoSuchMethodException e) { e.printStackTrace(); } if (b1.getAuthor() == b2.getAuthor()) { System.out.println("证明: b1.getAuthor()与b2.getAuthor()返回同一个对象."); } /* * 例子3.将map中的内容复制到bean中. */ Map<String,Object> m1 = new HashMap<String,Object>(); m1.put("age", 31); m1.put("name", "fhd"); Person p6 = new Person(); try { PropertyUtils.copyProperties(p6, m1); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } catch (NoSuchMethodException e) { e.printStackTrace(); } System.out.println("p6.name: "+p6.getName()+"\tp6.age: "+p6.getAge()); } }
- p2.age: 12 p2.name:fhd
- 证明: b1.getAuthor()与b2.getAuthor()返回同一个对象.
-
p6.name: fhd p6.age: 31
======================================
s.setSchoolId("11");
s.setSchoolName("11");
s.setIntroduce("ddd");
Map<String, String> formMap = new HashMap<String, String>();
formMap.put("schoolId", "22");
formMap.put("schoolName", "22");
PropertyUtils.copyProperties(s, formMap);
System.out.println(s.getIntroduce());
System.out.println(s.getSchoolName());
22
1. public class ObjectTransWrap {
2. public static Object wrap(Object actionObj,Class OperatorAction) throws Exception, InstantiationException{
3. Object o = OperatorAction.newInstance();
4. BeanInfo beanInfo = Introspector.getBeanInfo(actionObj.getClass());
5. PropertyDescriptor[] properties = beanInfo.getPropertyDescriptors();
6. Method get = null;
7. Method set = null;
8. for (int i = 0; i < properties.length; i++) {
9. try{
10. get = properties[i].getReadMethod();
11. set = o.getClass().getMethod( properties[i].getWriteMethod().getName(), new Class[]{properties[i].getPropertyType()});
12. }catch(Throwable a){
13. continue;
14. }
15. if(set!=null&&get!=null){
16. set.invoke(o, new Object[]{get.invoke(actionObj, new Object[]{})});
17. set = null;
18. get = null;
19. }
20. }
21. return o;
22.
23. }
发表评论
-
java 模拟微信浏览器http请求
2020-12-16 08:49 708public static void main(St ... -
java 小数点处理的问题
2015-08-22 16:23 743float num= (float)1/100 ... -
java操作excel 替换指定字符串
2014-12-26 10:27 5213根据excel模板里设置指定的num0,num1,num2 ... -
itext对水印图片的旋转、放大、缩小等操作的示例
2014-07-24 17:17 5722package test1; import java. ... -
java 获取ip
2014-04-25 16:38 826public static String getIpAddr ... -
读取poi
2014-03-12 17:57 1302/** * Writer: fuanyu * Dat ... -
对Map排序
2014-02-20 15:38 754本来来自:http://blog.sina.com.cn/s ... -
java 上下篇文章实现的思路
2014-02-14 15:03 754当前文章的ID =request("id" ... -
Java:String和Date、Timestamp之间的转换
2013-12-03 14:39 10191.1 String -> Date String ... -
ArrayList和数组间的相互转换
2012-07-31 16:00 1082package test.test1; import ... -
No result defined for action and result
2012-07-02 11:50 970当你在用struts2开发时,如果,从页面跳入action时, ... -
IntelliJ IDEA 10.0 使用javac 编译程序出现“非法字符: \65279 ”解决方法
2012-04-26 11:42 2142一、问题描述: 将在eclipse 创建的项目代码导入 I ... -
map取key及key的值
2012-03-19 15:53 1600public class Test2 { p ... -
用jdbc操作CLOB型数据的两种方式
2012-02-08 10:29 1270最近学Oracle,正好单位OA中Word文件是将文件用BAS ... -
java @override 报错处理
2012-02-02 14:14 1312有时候在自己电脑上编译通过的java代码,在别人那里确编译 ... -
Java判断字符串中是否包含汉字
2011-12-15 11:54 2256有两个方法 import java.util.regex.M ... -
JMagick+ImageMagic处理图片(高质量)
2011-11-27 13:37 2657项目需要简单处理一些用户上传的图片,如缩略图、剪切、旋转、水印 ... -
定时发送邮件的思路
2011-11-19 12:11 1266定时发送邮件:大概是用户选择在某个时间发送邮件; 步骤: ... -
java 解析json
2011-11-10 17:00 1096如下面代码 String str="[{'bus ... -
javamail 收邮件遇到的问题及解决方法
2011-11-04 16:29 22621.java.io.UnsupportedEncodingEx ...
相关推荐
commons-beanutils-bean-collections.jar commons-beanutils-bean-collections.jar
commons-beanutils-bean-collections-1.7.0.jar
commons-beanutils-bean-collections-1.8.0.jar
commons-beanutils-1.8.0 jar包: 1.commons-beanutils-1.8.0.jar 2.commons-beanutils-1.8.0-javadoc.jar ...4.commons-beanutils-bean-collections-1.8.0.jar 5.commons-beanutils-core-1.8.0.jar
常用jar包下载,包括commons-beanutils-1.9.3、commons-collections-3.2.2、commons-collections4-4.1
commons-beanutils-bean-collections-1.8.3.jar
在开始JSP上传文件之前你要准备以下几个东西: 1. commons-FileUpload 1.2 包 下载地址:...3. Commons-BeanUtils 1.7 包 下载地址:http://jakarta.apache.org/commons/beanutils/
commons-beanutils-bean-collections.jar commons-beanutils-core.jar commons-dbcp.jar commons-fileupload-1.0.jar commons-logging-1.1.1.jar commons-pool-1.3.jar 如果需要别的jar包 去 ...
commons-beanutils是Apache提供的一个用于操作JAVA bean的工具包。里面提供了各种各样的工具类,让我们可以很方便的对bean对象的属性进行各种操作。
commons-beanutils-1.9.3 和commons-beanutils-1.9.3源码 包含 commons-collections4-4.2.jar commons-logging-1.2.jar
commons-beanutils-1.8.3。commons-beanutils是Apache开源组织提供的用于操作JAVA BEAN的工具包。使用commons-beanutils,我们可以很方便的对bean对象的属性进行操作。
BeanUtils也是Apache Commons家族中的一员,顾名思义,它是用来对Java Bean来进行处理的。 此文档绝对完整,包使用者满意
Commons-beanutil中包括大量和JavaBean操作有关的工具方法,使用它能够轻松利用Java反射机制来完毕代码中所须要的功能,而不须要具体研究反射的原理和使用,同一时候,该类库中提出了动态Bean的概念,不但提供现有...
commons-beanutils (1.7.0 -1.9.2) 6个jar包. 资源共享,有需要其他jar包的可以在评论留言,看到后我会陆续上传。
commons-beanutils-1.8.3-connections.jar+commons-collections-3.1.jar+commons-lang-2.6.jar+commons-logging-1.1.2.jar+ezmorph-1.0.6.jarjson-lib-2.4-jdk15.jar.在请求中使用json解析回来的respone时,需要...
commons-beanutils-1.8.3.rar官方正版免费版,BeanUtils主要提供了对于JavaBean进行各种操作。 个包主要提供用于操作JavaBean的工具类,Jakarta-Common-BeanUtils的主要功能都在这个包里实现。
Commons BeanUtils Most Java developers are used to creating Java classes that conform to the JavaBeans naming patterns for property getters and setters. It is natural to then access these methods ...
Beanutils用了魔术般的反射技术,实现了很多夸张有用的功能,都是C/C++时代不敢想的。无论谁的项目,始终一天都会用得上它。我算是后知后觉了,第一回看到它的时候居然错过。 1.属性的动态getter,setter 2....