Spring中的 BeanWrapper

行是知之始,知是行之成。这篇文章主要讲述Spring中的 BeanWrapper相关的知识,希望能为你提供帮助。
BeanWrapper 是Spring提供的一个用来操作javaBean属性的工具,使用它可以直接修改一个对象的属性。
对于bean属性的操作,大家熟知的主要有下面这些工具类:1.Apache的BeanUtils和PropertyUtils
        2.cglib的BeanMap和BeanCopier
3.spring的BeanUtils
BeanWrapper 的好处在于:
1.支持设置嵌套属性
2.支持属性值的类型转换(设置ConversionService)
下面是一个使用BeanWrapper 包装对象的例子:

package com.glmapper.web.test; import org.springframework.beans.BeanWrapper; import org.springframework.beans.PropertyAccessorFactory; import org.springframework.beans.PropertyValue; public class BeanWrapperTest { public static void main(String[] args) { User user=new User(); //通过PropertyAccessorFactory将user对象封装成BeanWrapper BeanWrapper bw=PropertyAccessorFactory.forBeanPropertyAccess(user); //方式一:直接对属性值进行设置 bw.setPropertyValue("userName", "张三"); //方式二:通过PropertyValue进行设置 PropertyValue pv=new PropertyValue("userName","李四"); bw.setPropertyValue(pv); System.out.println(user.getUserName()); } } //一个User类 class User{ private String userName; public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } }

【Spring中的 BeanWrapper】在Spring中,HttpServletBean的属性设置就是通过这种方式来完成的。
 



    推荐阅读