`

commons-beanutils包

 
阅读更多

commons-beanutils.jar: 用于处于javaBeans。

工作机制:利用java的反射机制。

 

1.常用包

org.apache.commons.beanutils – 核心包,定义一组Utils类和需要用到的接口规范

org.apache.commons.beanutils.converters – 转换String到需要类型的类,实现Converter接口

org.apache.commons.beanutils.locale – beanutils的locale敏感版本

org.apache.commons.beanutils.locale.converters – converters的locale敏感版本

org.apache.commons.collections – beanutils使用到的Collection类

 

2,常用方法

public static void main(String[] args) throws Exception {
		/**
		 * 1.对象克隆。
		 * 需注意的是Huma的访问修饰符必须是public,否则在其他包下无法访问,从而导致抛出异常
			另外Huma必须有setXXX,getXXX方法,否则也是无法克隆的,关于这点似乎美中不足吧
		 */
		Huma huma=new Huma();
		huma.setAge(22);
		huma.setName("Darren");
		Huma huma2=(Huma)BeanUtils.cloneBean(huma);
		
		System.out.println("object clone -- age: " + huma2.getAge() +" name: " + huma2.getName());
		
		/**
		 * 
		 * 2. 属性复制
		 * 两个不同类型的对象,如果属性名称相同,类型相同,且有对应的setXXX,getXXX方法,也可以进行属性复制
		 */
		Human2 human2=new Human2();
		 BeanUtils.copyProperties(human2, huma);
		 System.out.println("properties clone --  age: " + human2.getAge() +" name: " + human2.getName());
		 
		 /**
		  * 3.动态创建未知类型对象,动态添加未知对象的属性
		  * MutableDynaClass:对于DynaClass的特殊扩展,允许动态的添加和移除类的属性
		  */
		 DynaProperty []pros = new DynaProperty[]{
				 new DynaProperty("name",String.class),
				 new DynaProperty("age",Integer.class)
		 };
		 DynaClass dynaC = new BasicDynaClass("Girl", null,pros);
		  DynaBean bean=dynaC.newInstance();
		  bean.set("name", "wang z"); //也可以PropertyUtils.setProperty(bean, "name", "wang zhao jun")
		  bean.set("age", 18);
		  
		  System.out.println("动态创建未知类型对象-- class:"+ bean.getClass()
				  + " name: " + bean.get("name")
				  + " age: " + bean.get("age"));
		  
		  /**
		   *  new LazyDynaBean();
		   * bean.getDynaClass().getDynaProperties();
		   * 
		   * 引用类型的一般类型: BeanUtils.getProperty(user, "profile.brithDate")
		   * Map类型: BeanUtils.getProperty(user, "profile.phone(home)")
		   * 数组和List,Set类型: BeanUtils.getProperty(user, "profile.address[0].city")
		   * 
		   */
		  Profile pf = new Profile();
		  pf.setHuma( new Huma[]{huma,huma2});
		  pf.setEmail("ldaolong@126.com");
		  pf.setBrithDate(new Date());
		  pf.setHuman(human2);
		  
		System.out.println(" 引用类型的一般类型:" + BeanUtils.getProperty(pf, "human.name"));
		
		
		/**
		 * 
		 * PropertyUtils的工具类,它也提供copyProperties()方法,作用与 BeanUtils的同名方法十分相似,
		 * 主要的区别在于后者提供类型转换功能,即发现两个JavaBean的同名属性为不同类型时,在支持的数据类型范围 内进行转换,而前者不支持这个功能,但是速度会更快一些。
		 * 注意一点,java.util.Date是不被支持的,而它的子类java.sql.Date是被支持的
		 */
	}

 

3.其他一些方法

PropertyUtils.getSimpleProperty(Object bean, String name) 
PropertyUtils.setSimpleProperty(Object bean, String name, Object value)

 Indexed属性访问方法
PropertyUtils.getIndexedProperty(Object bean, String name) 
PropertyUtils.getIndexedProperty(Object bean, String name, int index) 
PropertyUtils.setIndexedProperty(Object bean, String name, Object value) 

PropertyUtils.setIndexedProperty(Object bean, String name, int index, Object value)

Mapped属性访问方法
PropertyUtils.getMappedProperty(Object bean, String name) 
PropertyUtils.getMappedProperty(Object bean, String name, String key) 
PropertyUtils.setMappedProperty(Object bean, String name, Object value) 
PropertyUtils.setMappedProperty(Object bean, String name, String key, Object value)

......

 

4.其他一些网站

http://blog.163.com/among_1985/blog/static/275005232008111182848156/

http://blog.csdn.net/terryzero/article/details/4320220

分享到:
评论

相关推荐

    commons-beanutils-1.9.4-API文档-中文版.zip

    赠送jar包:commons-beanutils-1.9.4.jar; 赠送原API文档:commons-beanutils-1.9.4-javadoc.jar; 赠送源代码:commons-beanutils-1.9.4-sources.jar; 赠送Maven依赖信息文件:commons-beanutils-1.9.4.pom; ...

    commons-beanutils-1.9.4-API文档-中英对照版.zip

    赠送jar包:commons-beanutils-1.9.4.jar; 赠送原API文档:commons-beanutils-1.9.4-javadoc.jar; 赠送源代码:commons-beanutils-1.9.4-sources.jar; 赠送Maven依赖信息文件:commons-beanutils-1.9.4.pom; ...

    commons-beanutils-1.9.3-API文档-中英对照版.zip

    赠送jar包:commons-beanutils-1.9.3.jar; 赠送原API文档:commons-beanutils-1.9.3-javadoc.jar; 赠送源代码:commons-beanutils-1.9.3-sources.jar; 包含翻译后的API文档:commons-beanutils-1.9.3-javadoc-...

    commons-beanutils (1.7.0 -1.9.2)6个

    - `commons-beanutils-1.8.0-sources.jar`:这个文件包含了`1.8.0`版本的源代码,对于开发者来说是极其宝贵的资源,可以通过阅读源码理解内部实现,学习如何优雅地处理Bean操作,甚至进行二次开发。 4. **使用场景...

    commons-beanutils-1.8.2.jar,commons-codec-1.4.jar

    commons-beanutils-1.8.2.jar,commons-codec-1.4.jar,commons-collections-3.2.1.jar,commons-dbcp-1.2.2.jar,commons-digester-2.0.jar,commons-fileupload-1.2.1.jar,commons-httpclient.jar,commons-io-...

    commons-beanutils-1.8.3和commons-beanutils-1.8.0

    在给定的压缩包文件中,包含了两个版本的Apache Commons BeanUtils库:`commons-beanutils-1.8.0`和`commons-beanutils-1.8.3`。 Apache Commons BeanUtils的核心功能包括: 1. **属性访问**:BeanUtils提供了一...

    commons-beanutils-1.9.1-API文档-中文版.zip

    赠送jar包:commons-beanutils-1.9.1.jar; 赠送原API文档:commons-beanutils-1.9.1-javadoc.jar; 赠送源代码:commons-beanutils-1.9.1-sources.jar; 赠送Maven依赖信息文件:commons-beanutils-1.9.1.pom; ...

    commons-beanutils-1.9.1.jar<---&gt;commons-logging-1.1.3.jar

    在给定的`commons-beanutils-1.9.1.jar`中,包含了大量的实用函数,如`PropertyUtils`、`MethodUtils`等,这些函数简化了JavaBeans的处理。 `commons-logging-1.1.3.jar`是另一个Apache项目,它是Java的日志抽象层...

    commons-beanutils-1.9.3-API文档-中文版.zip

    赠送jar包:commons-beanutils-1.9.3.jar; 赠送原API文档:commons-beanutils-1.9.3-javadoc.jar; 赠送源代码:commons-beanutils-1.9.3-sources.jar; 包含翻译后的API文档:commons-beanutils-1.9.3-javadoc-...

    commons-beanutils-1.9.4

    在本文中,我们将深入探讨`commons-beanutils-1.9.4`这个版本,了解其核心功能、使用场景以及如何在项目中集成和应用。 Apache Commons BeanUtils库的主要目标是简化JavaBean对象的属性访问。它通过提供一系列静态...

    commons-beanutils-1.7.0-API文档-中英对照版.zip

    赠送jar包:commons-beanutils-1.7.0.jar; 赠送原API文档:commons-beanutils-1.7.0-javadoc.jar; 赠送源代码:commons-beanutils-1.7.0-sources.jar; 赠送Maven依赖信息文件:commons-beanutils-1.7.0.pom; ...

    commons-beanutils-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 3.commons-beanutils-1.8.0-sources.jar 4.commons-beanutils-bean-collections-1.8.0.jar 5.commons-...

    commons-beanutils-1.7.0-API文档-中文版.zip

    赠送jar包:commons-beanutils-1.7.0.jar; 赠送原API文档:commons-beanutils-1.7.0-javadoc.jar; 赠送源代码:commons-beanutils-1.7.0-sources.jar; 赠送Maven依赖信息文件:commons-beanutils-1.7.0.pom; ...

    commons-beanutils.jar commons-collections-3.1.jar commons-pool-1.2.jar

    这里提到的三个JAR文件——`commons-beanutils.jar`、`commons-collections-3.1.jar`和`commons-pool-1.2.jar`,都是Apache Commons项目的一部分,分别涉及Bean操作、集合操作和对象池化。 **1. `commons-beanutils...

    commons-beanutils-1.8.3.jar.zip

    在本文中,我们将深入探讨`commons-beanutils-1.8.3.jar`的核心功能和使用方法。 Apache Commons BeanUtils的核心特性主要体现在以下几个方面: 1. **属性访问**:BeanUtils提供了`getProperty()`和`setProperty()...

    commons-beanutils-1.9.4.zip

    `commons-beanutils-1.9.4.zip`是一个包含Apache Commons BeanUtils 1.9.4版本的压缩包。这个版本包含了以下几个关键文件: 1. `commons-beanutils-1.9.4-javadoc.jar`: 这是BeanUtils库的API文档,通过解压这个jar...

    Commons-beanutils jar包

    Commons-beanutils jar包,比较新希望对大家能有帮助

    commons-beanutils-1.9.3jar包source包及相关jar包

    `commons-beanutils-1.9.3-sources.jar`则是源代码包,它包含了BeanUtils库的完整源代码,这对于开发者进行调试、学习和自定义扩展非常有用。通过查看源代码,可以深入理解内部的工作机制,以及如何有效地利用这些...

    commons-beanutils.jar.zip

    《JSF中的commons-beanutils.jar:深入了解与应用》 在Java Server Faces(JSF)框架的开发过程中,经常会遇到一些常用的库文件,其中之一便是`commons-beanutils.jar`。这个小巧却强大的库,是Apache Commons项目...

Global site tag (gtag.js) - Google Analytics