- Apache的BeanUtils和PropertyUtils
- cglib的BeanMap和BeanCopier
- spring的BeanUtils
- 支持设置嵌套属性
- 支持属性值的类型转换(设置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中有具体的实现类,里面已经内建了大部分常用的转换,比如字符串转日期、字符串转数值等。