由于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();//匿名的对象
*
*
* */
}
分享到:
相关推荐
在整个J2EE的编程过程中,我们经常会从各种配置文件中读取相应的数据,需要明白的一点是从配置文件中读取到的数据都是String,但是很显然我们的应用程序中不仅仅有String一种数据类型,比如:基本数据类型(int、...
BeanUtils也是Apache Commons家族中的一员,顾名思义,它是用来对Java Bean来进行处理的。一般情况下,在写一个Bean时,我们都要写上getXX和setXX方法,这样在读取和写入对象属性值时很方便,但有些场合下,比如动态...
介绍 BeanUtils 的 用 法以及各个方法和属性的作用
BeanUTils的jar包,1.9版本具有最新特性。适合于JavaWeb开发中的应用,大家有需要的可以下载。
Sun公司的内省API过于繁琐,所以Apache组织结合很多实际开发中的应用场景开发了一套简单、易用的API操作Bean的属性——BeanUtils,在Beanutil中可以直接进行类型的自动转换。
这些项目集合了来自世界各地软件工程师的心血,其性能、稳定性等方面都经受得住实际应用的考验。有效地利用这些项目将会给开发带来显而易见的效果。Fileupload就是其中用来处理HTTP文件上传的子项目。本文主要介绍...
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
而一个完整的应用程序除了数据存储层之外,还有数据访问层,业务逻辑层,界面展示层等。因 此,如果以 pureXML 技术为基础,并在各个层面提供相应的解决方案,那么整个应用程序的框架将是非常灵活的。
开发此应用程序是为了演示 BeanUtils 复制实用程序及其行为。
json-lib-0.2,适用于jdk1.4之下版本应用,json最老版本
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包,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
commons-beanutils.jar,commons-collections.jar, commons-digester.jar, jsf-api.jar, jsf-impl.jar, jstl.jar, standard.jar
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 ...
压缩包含有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,配套使用即可实现基本的后端接口开发
10.4 Commons BeanUtils组件简介 291 实例233 设置JavaBean简单属性 291 实例234 设置JavaBean级联属性 293 实例235 动态生成JavaBean 295 实例236 复制JavaBean属性 296 实例237 动态排序JavaBean 298 10.5 其他...