`
Longmanfei
  • 浏览: 46506 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

BeanUtils应用

阅读更多

 

      由于Sun公司的内省API过于繁琐,所以Apache组织结合很多实际开发中的应用场景开发了一套简单、易用的API操作Bean的属性——BeanUtils

Beanutils工具包的常用类:

 

  • BeanUtils
  • PropertyUtils
  • ConvertUtils.regsiter(Converter convert, Class clazz)
  • 自定义转换器
首先我们定义bean类
public class Student {
    private String name;
    private int age;
    private Date birthday;
    
    
	public Date getBirthday() {
		return birthday;
	}
	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
    
}
 然后我是用 beanutils写的实现类
package cn.csdn.beanutils.Student;

import java.lang.reflect.Field;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.ConversionException;
import org.apache.commons.beanutils.ConvertUtils;
import org.apache.commons.beanutils.Converter;
import org.apache.commons.beanutils.locale.converters.DateLocaleConverter;
import org.junit.Test;

public class StudentTest {
	@Test
	public void test() throws Exception {
		// 定义class文件
		String url = "cn.csdn.beanutils.Student.Student";

		// 加载类文件
		Class cls = Class.forName(url);

		// 创建bean实例
		Student bean = (Student) cls.newInstance();

		// 解析类的属性
		Field fd[] = cls.getDeclaredFields();

		// 输出有什么属性
		for (Field d : fd) {
			System.out.println(d.getType() + "  " + d.getName());
		}

		// 定义操作属性

		String name = "birthday";

		// 为属性赋值
		Date da = new Date();

		BeanUtils.setProperty(bean, name, da);

		// System.out.println(bean.getAge());
		// 取值
		System.out.println(BeanUtils.getProperty(bean, name));
	}

	@Test
	public void test2() throws Exception {
		Student stu = new Student();
		// 注册转换器
		ConvertUtils.register(new DateLocaleConverter(), Date.class);

		String name = "birthday";

		BeanUtils.setProperty(stu, name, "1990-09-20");

		System.out.println(stu.getBirthday());
	}

	@Test
	public void test3() throws Exception {
		Student stu = new Student();
		// 自定义转换器
		ConvertUtils.register(new Converter() {

			@Override
			public Object convert(Class type, Object value) {

				if (value == null) {
					return null;
				}
				SimpleDateFormat sim = new SimpleDateFormat("yyyy-MM-dd");
				Date dt = null;
				try {
					dt = sim.parse((String) value);
				} catch (ParseException e) {
					throw new ConversionException("日期格式不对...");
				}
				return dt;
			}
		}, Date.class);
		String name = "birthday";

		BeanUtils.setProperty(stu, name, "1990-09-20");
		System.out.println(stu.getBirthday());
	}
	/**
	 * Converter接口 Android new Converter(){ //重写接口中的方法 }
	 * 
	 * 相当于 public class MyConverter implements Converter{ //重写接口中的方法
	 * 
	 * } 并且 创建了MyConveter的对象 new MyConverter();//匿名的对象
	 * 
	 * 
	 * */

}
 
1
2
分享到:
评论

相关推荐

    commons-beanutils-1.9.3

    在整个J2EE的编程过程中,我们经常会从各种配置文件中读取相应的数据,需要明白的一点是从配置文件中读取到的数据都是String,但是很显然我们的应用程序中不仅仅有String一种数据类型,比如:基本数据类型(int、...

    commons-beanutils-1.8.3 API.chm

    BeanUtils也是Apache Commons家族中的一员,顾名思义,它是用来对Java Bean来进行处理的。一般情况下,在写一个Bean时,我们都要写上getXX和setXX方法,这样在读取和写入对象属性值时很方便,但有些场合下,比如动态...

    BeanUtils的应用

    介绍 BeanUtils 的 用 法以及各个方法和属性的作用

    commons-beanutils-1.9.4-bin.zip

    BeanUTils的jar包,1.9版本具有最新特性。适合于JavaWeb开发中的应用,大家有需要的可以下载。

    commons-beanutils-1.9.2-bin.zip

    Sun公司的内省API过于繁琐,所以Apache组织结合很多实际开发中的应用场景开发了一套简单、易用的API操作Bean的属性——BeanUtils,在Beanutil中可以直接进行类型的自动转换。

    commons-fileupload-1.0-beta-1.jar、commons-beanutils-1.8.3.jar

    这些项目集合了来自世界各地软件工程师的心血,其性能、稳定性等方面都经受得住实际应用的考验。有效地利用这些项目将会给开发带来显而易见的效果。Fileupload就是其中用来处理HTTP文件上传的子项目。本文主要介绍...

    json应用jar包

    json格式串转为json对象,xml文件转为json串对象,或者json串对象转为xml文件。...commons-beanutils-1.7.0.jar commons-lang-2.3.jar commons-logging-1.1.1.jar commons-collections-3.2.1.jar ezmorph-1.0.3.jar

    DB2 pureXML 动态编程组合拳:iBatis+BeanUtils+JiBX

    而一个完整的应用程序除了数据存储层之外,还有数据访问层,业务逻辑层,界面展示层等。因 此,如果以 pureXML 技术为基础,并在各个层面提供相应的解决方案,那么整个应用程序的框架将是非常灵活的。

    BeanUtilTest:创建存储库以测试 BeanUtils

    开发此应用程序是为了演示 BeanUtils 复制实用程序及其行为。

    json-lib-0.2

    json-lib-0.2,适用于jdk1.4之下版本应用,json最老版本

    Jason应用的Jar包

    Jason应用的Jar包 commons-beanutils-1.7.0.jar commons-collections-3.2.jar commons-lang-2.4.jar commons-logging-1.1.jar ezmorph-1.0.4.jar json-lib-2.2.2-jdk15.jar JSON简介.doc

    json应用全部jar包

    json应用全部jar包,commons-beanutils-1.7.0.jar,commons-collections-3.2.jar,commons-lang-2.4.jar,commons-logging-1.1.jar,ezmorph-1.0.4.jar,json-lib-2.2.2-jdk15.jar

    jsf应用开发必用jar包

    commons-beanutils.jar,commons-collections.jar, commons-digester.jar, jsf-api.jar, jsf-impl.jar, jstl.jar, standard.jar

    精通Java EE整合应用案例 源代码19章 chat

    commons-beanutils-1.7.1-20061106.jar commons-collections-3.2.jar commons-configuration-1.2.jar commons-dbcp-1.2.1.jar commons-logging-1.0.4.jar commons-pool-1.3.jar dom4j-1.6.1.jar ehcache-1.2.3.jar ...

    javaWeb应用开发所需基础jar包.zip

    压缩包含有commons-beanutils-1.9.4、commons-collections-3.2.2、commons-lang-2.6、commons-logging-1.2、ezmorph-1.0.6、json-lib-2.4-jdk15、mysql-connector-java-8.0.20,配套使用即可实现基本的后端接口开发

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    10.4 Commons BeanUtils组件简介 291 实例233 设置JavaBean简单属性 291 实例234 设置JavaBean级联属性 293 实例235 动态生成JavaBean 295 实例236 复制JavaBean属性 296 实例237 动态排序JavaBean 298 10.5 其他...

Global site tag (gtag.js) - Google Analytics