`
Longmanfei
  • 浏览: 48090 次
  • 性别: 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.8.0

    《Apache Commons BeanUtils 1.8.0:深入解析与应用》 Apache Commons BeanUtils库是Java开发中不可或缺的一部分,尤其对于那些频繁处理JavaBeans属性的开发者来说。它提供了便捷的方式来操作Java对象的属性,极大...

    commons-beanutils-1.9.4

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

    Commons BeanUtils 1.8.3 API

    这个版本的BeanUtils适用于各种Java项目,尤其是那些需要大量处理Java Bean属性的场景,如Web应用、企业级服务或数据绑定等。 在实际开发中,使用BeanUtils可以显著减少代码量,提高代码可读性,并减少出错的可能性...

    beanutils-1.8.3开发包

    4. **国际化支持**:通过`Locale`对象,BeanUtils可以处理不同地区的数据格式,这对于多语言应用来说是必不可少的。 5. **自定义转换**:开发者可以通过实现`Converter`接口,为特定类型提供自定义的数据转换逻辑。...

    commons-beanutils-1.8.2-src官方源文件,是你学习beanutils工具的必备资料

    - 结合实际项目,尝试在代码中应用BeanUtils,加深理解。 总的来说,"commons-beanutils-1.8.2-src"官方源文件包是学习Java Bean操作的宝贵资源,通过研究源代码,开发者不仅可以掌握BeanUtils的使用,还能进一步...

    beanutils的jar包

    例如,在Web应用中,表单提交的数据可以直接映射到JavaBean对象,或者在服务层进行对象间的属性拷贝,减少重复代码。由于BeanUtils库的广泛适用性和便捷性,它是Java开发者日常开发中不可或缺的一个工具。 综上所述...

    beanutils 1.8 jar包+源码_阿锦—小白

    下面我们将详细探讨BeanUtils及其在Java开发中的应用。 首先,BeanUtils库的核心功能在于它提供了方便的Java Bean操作接口,这些接口能够帮助开发者以更简洁的方式处理对象属性的get和set操作。例如,`BeanUtils....

    commons-beanutils 源码

    - `.commons-beanutils-1.6.0`版本虽然相对较旧,但仍然考虑到了多语言环境下的应用,如`Locale`的使用,使得属性名可以根据不同的地区进行适配。 5. **性能优化** - 为了提高性能,BeanUtils使用了缓存机制,...

    beanutils包

    本篇文章将深入探讨BeanUtils包的使用、功能及其在网络框架中的应用。 Apache Commons BeanUtils的核心特性主要体现在以下几个方面: 1. **属性操作简化**:BeanUtils提供了一种简洁的方式来设置和获取JavaBeans...

    beanutils JAR包下载

    《Apache Commons BeanUtils:深入解析与应用》 Apache Commons BeanUtils是Java开发中一个非常重要的工具库,它为处理JavaBeans提供了极大的便利。在本文中,我们将深入探讨BeanUtils库,特别是关注`beanutils-...

    commons-beanutils-1.9.4.jar.zip

    9. **与其他Apache Commons库的集成**:BeanUtils可以很好地与Apache Commons其他库(如Collections、Lang等)结合使用,增强应用的功能。 10. **文档与社区**:Apache Commons项目提供了详细的API文档和用户指南,...

    commons-beanutils-1.9.3

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

    beanutils-logging.zip

    2. **多环境兼容**:由于Java应用程序可能在不同的服务器和环境中运行, Commons Logging能够适应这些变化,选择最适合当前环境的日志实现。 3. **灵活性**:开发者可以根据需要调整日志级别,控制不同级别的信息...

    beanUtils包与源码

    现在,让我们深入探讨BeanUtils包的核心功能、工作原理以及如何结合源码来学习和应用。 首先,BeanUtils的核心功能在于属性操作,它提供了`copyProperties()`方法,允许我们快速地将一个Java Bean对象的所有属性值...

    BeanUtils包

    6. **国际化支持:** 虽然不是直接的功能,但BeanUtils与ResourceBundle结合使用,可以实现根据不同的语言环境设置Bean的属性值,适应多语言应用。 7. **自定义转换器:** 用户可以通过实现`org.apache.commons....

    BeanUtils工具 .jar 包

    这个库简化了对象模型之间的数据绑定,特别是在Web开发中,如Java Web应用,它与Expression Language (EL)和JSP Standard Tag Library (JSTL)常常一起使用。 在Java编程中,BeanUtils工具包的核心功能主要体现在...

    commons-beanutils-1.9.3.jar

    Apache Commons BeanUtils是Java开发中的一个实用工具库,主要用于简化对JavaBean的操作。这个`commons-beanutils-1.9.3.jar`...通过熟练掌握和应用这个库,开发者可以更加高效地处理对象属性,实现更灵活的数据操作。

    BeanUtils所需的包

    在实际应用中,BeanUtils通常与其他Apache Commons组件(如Collections、Lang等)结合使用,以实现更强大的功能。例如,通过Lang中的StringUtils,我们可以对字符串进行各种处理,然后通过BeanUtils将处理结果设置到...

    commons-beanutils所有版本(1.0-1.9.2).zip

    1. **JavaBeans**: JavaBeans是一种符合特定规范的Java类,通常用于构建组件或GUI应用程序。它们具有可设置的属性、构造方法和事件处理方法。BeanUtils库主要就是为了方便地操作这些JavaBeans的属性。 2. **属性...

    BeanUtils工具类

    在Java开发中,BeanUtils工具类是Apache Commons项目的一个重要组成部分,主要负责处理Java对象...在实际应用中,根据项目需求和性能要求,合理选择使用BeanUtils或其他更高效的数据绑定库,如ModelMapper或Lombok。

Global site tag (gtag.js) - Google Analytics