BeanUtils自定义转换器

使用 commons-beanutils-1.8.0.jar 与 commons-logging.jar

对javaBean的存取操作

1) BeanUtils bUtils = new BeanUtils();

2) 在存取值得时候8种基本类型可以 自动转换
 
 可以注册自己定义的类型转化/注册使用BeanUtils定义好的转换规则 
注册: ConvertUtils.register(转换方式,要转换的目标类型);

(org.apache.commons.beanutils.converters)包里面 预先定义好的转换规则

 

自定义转换方式:

1):一个实现了org.apache.commons.beanutils.Converter 接口的类

CASE:

public class MyDateConvert implements Converter {
 public Object convert(Class type, Object value) {
   try {

    String str = null;

    if (value instanceof String) {

      str = (String) value;
    } else if (value instanceof java.util.Date) {
      str = convertTimestamp(((java.util.Date)value).getTime());
    } else if (value instanceof Long) {
      str = convertTimestamp((Long) value);
    } else {

      throw new NotAttributeException();

    }
    return new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss").parse(str);
  } catch (NotAttributeException e) {
    e.printStackTrace();
    return null;

  } catch (ParseException e) {
    e.printStackTrace();
    return null;
  }
}

 private String convertTimestamp(Long time) {
  return new java.sql.Timestamp(time).toString();
 }
}

2)在注册的时候 直接以内部类的形式实现

s

BeanUtils 在大量操作JavaBean的时候 非常好

缺点:当转换类型错误的时候 BeanUtils会给一个默认值,不提示错误信息

转载于:https://www.cnblogs.com/pengyu/archive/2011/08/23/2151034.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值