spring中强大的bean操作类BeanWrapper

对于bean属性的操作,大家熟知的主要有下面这些工具类:
  • Apache的BeanUtils和PropertyUtils
  • cglib的BeanMap和BeanCopier
  • spring的BeanUtils
但是最近我发现,在spring中有一个更强大的操作bean的类BeanWrapper,它的强大体现在下面两个方面:
  1. 支持设置嵌套属性
  2. 支持属性值的类型转换(设置ConversionService)。
这两方面比其他那些工具类好用多了。
示例代码如下:

BeanWrapper beanWrapper = PropertyAccessorFactory.forBeanPropertyAccess( obj);
beanWrapper.setConversionService( conversionService );  //值类型转换,跟spring mvc无缝集成
beanWrapper.setAutoGrowNestedPaths(  true );  //对于null值,是否自动创建新对象
beanWrapper.setPropertyValue( "a[0].b[dd].a" ,  "value" );

嵌套属性支持数组、Map、对象等的嵌套。
值类型转换类ConversionService,Spring中有具体的实现类,里面已经内建了大部分常用的转换,比如字符串转日期、字符串转数值等。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值