更多的使用场景为进行数据传输时,将对象的属性封装到对象中, 即:
GoodsBean entity = new GoodsBean();
BeanUtils.populate(entity, request.getParameterMap());
以前的写法往往是,先获取值,即String str = request.getParameter("str");
然后将对象进行类型转换,即int value = (Integer)str;
再将值封装给对象,即Object obj = new Object(); obj.setStr(value);
以上如此反复,而通过beanUtils的populate方法自动将属性封装,节省了很多代码和时间,也无需仔细比对每个属性的类型再转换
Beanutils工具在使用时几乎只用到以下几个方法,其中一个方法通常情况下都是使用匿名内部类。
- BeanUtils.setProperty(bean, name, value);其中bean是指你将要设置的对象,name指的是将要设置的属性(写成”属性名”),value(从配置文件中读取到到的字符串值)
- BeanUtils。copyProperties(bean, name, value),和上面的方法是完全一样的。使用哪个都可以
- ConvertUtils.register(Converter converter , ..),当需要将String数据转换成引用数据类型(自定义数据类型时),需要使用此方法实现转换。
- BeanUtils.populate(bean,Map),其中Map中的key必须与目标对象中的属性名相同,否则不能实现拷贝。
- BeanUtils.copyProperties(newObject,oldObject),实现对象的拷贝