Map數據封裝到User對象中

Map數據封裝到User對象中

@Test //[內省的目標:得到Javabean屬性的讀寫方法的反射對象,通過反射對javabean屬性進行操作的 一組API] public void fun() throws IntrospectionException, IllegalAccessException, IllegalArgumentException, InvocationTargetException{ Map<String ,String> map = new HashMap<String,String>(); map.put("username","admin"); map.put("password", "123"); BeanInfo beanInfo =Introspector.getBeanInfo(User.class); //得到所有屬性描述符,每一個PropertyDescriptor對象,對應一個javaBean屬性 //getName(),getRealMethod(),getWriteMethod() PropertyDescriptor[] propertyDescriptor = beanInfo.getPropertyDescriptors(); User user = new User(); for(PropertyDescriptor pds : propertyDescriptor){ String name = pds.getName(); String value = map.get(name); if(value != null){ Method writeMethod = pds.getWriteMethod(); writeMethod.invoke(user, value); } } System.out.println(user.getUsername()+":"+user.getPassword()); }

commons-beanutils:底層使用到了內省,對內省進行了大量的簡化,

使用它 需要的jar包:commons-beanutils和commons-logging


推薦閱讀:

「核心技術」成首屆數字中國建設峰會關鍵詞
銳捷實戰系類 (四十六) OSPF多ASBR選路原則
超離子冰跟太陽一樣熱!科學家已經在地球上造出
為什麼寢室寬頻介面會有人說話的聲音?
為什麼頂級科技公司熱愛打坐冥想|大象公會

TAG:科技 | Map | 計算機視覺 |