一、方法解释
BeanUtils位于org.apache.commons.beanutils.BeanUtils下
BeanUtils.populate(Object bean, Map properties)
populate是BeanUtils工具类的一个方法
1.1 作用
这个方法会遍历map<key, value>中的key,如果bean中有这个属性,就把这个key对应的value值赋给bean的属性
1.2 使用
在使用这个方法之前定义一个 JavaBean
通过该方法将map中的数据映射到JavaBean中的get和set方法中(封装数据到JavaBean中)
取值直接从JavaBean中的get和set方法中取值
二、实际栗子
2.1 定义JavaBean
@Data
public class ProductDto implements Serializable {/*** 产品id*/private String productId;/*** 产品名称*/private String productName;}
2.2 populate调用
import com.lluozh.dto.ProductDto;
import org.apache.commons.beanutils.BeanUtils;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;public class DemoUtil {public List<ProductDto> query() throws IllegalAccessException {List<ProductDto> resultList = new ArrayList<>();for(int i=0;i<10;i++){//创建对象ProductDto bean =new ProductDto();// 赋值Map<String,Object> beanProperMap =new HashMap<>();beanProperMap.put("productId","lluozh"+i);beanProperMap.put("productName","洛");//将request中的参数映射到User Bean中的set和get方法BeanUtils.populate(bean,beanProperMap);//保存集合resultList.add(bean);}return resultList;}
}