JavaBean操作技术之二:BeanUtils框架

来源:互联网 发布:如何改变图片尺寸软件 编辑:程序博客网 时间:2024/05/16 07:59
JavaBean操作技术之二:BeanUtils框架。


用BeanUtils对JavaBean中的字段进行set或get操作时,该框架可以自动完成String类型与八种基本类型的转换。此外BeanUtils还实现了除八种基本类型之外的一些转换器,比如 DateLocaleConverter类,该类就是实现String类型向Date类型转换的转换器。用户还可以自定义转换器。 




package cn.itcast.java.beanutils;


import java.util.Date;


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


public class Demo1 {
@Test
public void test1() throws Exception{
Student s = new Student();
BeanUtils bu = new BeanUtils();


/*
//向BeanUtils框架注册自定义的转换器(String->java.util.Date)
ConvertUtils.register(new Converter(){
public Object convert(Class clazz, Object type) {
//参数一:java.util.Date.class(目标类型)
//参数二:是传入的参数类型,即java.lang.String
String strBirthday = (String) type;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
return sdf.parse(strBirthday);
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
},java.util.Date.class);
*/






ConvertUtils.register(new DateLocaleConverter(),java.util.Date.class);

bu.setProperty(s,"name","张三");
bu.setProperty(s,"age","31");
bu.setProperty(s,"birthday","2011-10-09");


String name = bu.getProperty(s,"name");
String age = bu.getProperty(s,"age");
String birthday = bu.getProperty(s,"birthday");



System.out.println("name="+name);
System.out.println("age="+age);
System.out.println("birthday="+new Date(birthday).toLocaleString());
}
}







1 0
原创粉丝点击