一、方法解释
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;
}
}