BeanUtils使用方法

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

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. UserEO user = new UserEO();  
  2. String key = "userName";  
  3. String value = "张三";  
  4. BeanUtils.copyProperty(user, key, value);  //copy属性  
  5. System.out.println(user.getUserName());  


copy对象到另一个对象
[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. UserEO user1 = new UserEO();  
  2. BeanUtils.copyProperties(user1, user);  //copy对象  
  3. System.out.println(user1.getUserName());  

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

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. import java.text.ParseException;  
  2. import java.text.SimpleDateFormat;  
  3. import java.util.Date;  
  4.   
  5. import org.apache.commons.beanutils.Converter;  
  6.   
  7. public class DateConverter implements Converter {  
  8.   
  9.     SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");  
  10.     /** 
  11.      * params:第一个参数是要转换的类型,如果要拷贝一个字符串到日期中,此时这个clz就是日期类型 
  12.      *        第二个参数是要转换的值 
  13.      * return : 转换之后的值 
  14.      */  
  15.     @SuppressWarnings("unchecked")  
  16.     @Override  
  17.     public <T> T convert(Class<T> clz, Object value) {  
  18.         try {  
  19.             if(clz!=Date.class){  
  20.                 return null;  
  21.             }  
  22.             if(value instanceof String){  
  23.                 return (T) sdf.parse((String)value);  
  24.             }  
  25.         } catch (ParseException e) {  
  26.             e.printStackTrace();  
  27.         }  
  28.         return null;  
  29.     }  
  30.   
  31. }  

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. /** 
  2. * 创建转换器的步骤: 
  3. * 1、创建一个类,实现Converter接口 
  4. * 2、覆盖这个接口的convert方法,在这个方法中实现转换 
  5. * 3、在拷贝属性之前注册转换器 
  6. */  
  7. ConvertUtils.register(new DateConverter(), java.util.Date.class);  
  8. BeanUtils.copyProperty(user, "createDate""2014-10-11");  
  9. System.out.println(user.getCreateDate());  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值