populate方法的作用将map数据封装到指定的JavaBean中,一般用于将表单中的所有数据封装到JavaBean
populate(Object obj,Map
JavaBean其实就是一个Java的实体类(对象)
package Day01_Demo.Test05;/*@create 2020--12--21--11:27*/import org.apache.commons.beanutils.BeanUtils;import org.junit.Test;import javax.swing.plaf.basic.BasicScrollPaneUI;import java.lang.reflect.InvocationTargetException;import java.util.HashMap;import java.util.Map;/*** BeanUtils下的方法讲解*/public class BeanUtilsDemo {//使用populate方法进行填充数据方法1@Testpublic void test1(){//1.模拟数据,创建map,填充所需要的数据Map<String, String[]> map = new HashMap<>();map.put("uid", new String[]{"u007"});map.put("username", new String[]{"王语嫣"});map.put("password", new String[]{"111"});//2.使用populate方法进行填充User user = new User();try {BeanUtils.populate(user, map);} catch (IllegalAccessException e) {e.printStackTrace();} catch (InvocationTargetException e) {e.printStackTrace();}//输出System.out.println(user);}//使用populate方法进行填充数据方法2@Testpublic void test2(){//1.模拟数据,创建map,填充所需要的数据Map<String, String[]> map = new HashMap<>();map.put("uid", new String[]{"u008"});//底层,其实就是调用了setUserNamemap.put("username", new String[]{"郭靖","黄蓉"});map.put("password", new String[]{"123"});map.put("hobbies", new String[]{"降龙十八掌", "碧海潮声曲", "打狗十八式"});map.put("age", new String[]{"45"});//2.使用populate方法进行填充/*可以指定属性,统一进行填充,需要的类型是[]如果属性不是数组,将使用map.value表示数组中的第一个数据 - 黄蓉不是第一个数据所以不见了BeanUtils支持的类型:基本类型和基本类型对应的包装类,自动将字符串转换为基本类型 - 自己做的*/User user = new User();try {BeanUtils.populate(user, map);} catch (IllegalAccessException e) {e.printStackTrace();} catch (InvocationTargetException e) {e.printStackTrace();}System.out.println(user);}}
