BeanUtils的用法

来源:互联网 发布:淘宝买东西后退款bug 编辑:程序博客网 时间:2024/03/29 14:00

   BeanUtils类可以帮助我们copy值到类的属性中,也可以copy一个对象到另一个对象。

UserEO user = new UserEO();String key = "userName";String value = "张三";BeanUtils.copyProperty(user, key, value);  //copy属性System.out.println(user.getUserName());


copy对象到另一个对象
UserEO user1 = new UserEO();BeanUtils.copyProperties(user1, user);  //copy对象System.out.println(user1.getUserName());

在copy值到属性的时候可能会出现类型不能识别的情况,我们需要转换类型:

import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;import org.apache.commons.beanutils.Converter;public class DateConverter implements Converter {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");/** * params:第一个参数是要转换的类型,如果要拷贝一个字符串到日期中,此时这个clz就是日期类型 *        第二个参数是要转换的值 * return : 转换之后的值 */@SuppressWarnings("unchecked")@Overridepublic <T> T convert(Class<T> clz, Object value) {try {if(clz!=Date.class){return null;}if(value instanceof String){return (T) sdf.parse((String)value);}} catch (ParseException e) {e.printStackTrace();}return null;}}

/*** 创建转换器的步骤:* 1、创建一个类,实现Converter接口* 2、覆盖这个接口的convert方法,在这个方法中实现转换* 3、在拷贝属性之前注册转换器*/ConvertUtils.register(new DateConverter(), java.util.Date.class);BeanUtils.copyProperty(user, "createDate", "2014-10-11");System.out.println(user.getCreateDate());


0 0
原创粉丝点击