@Test
public void testBeanInfo() throws IntrospectionException, InvocationTargetException, IllegalAccessException {
BaseVo param = new BaseVo();
param.setCode(111);
param.setMessage("success");
Map<String, Object> map = Maps.newConcurrentMap();
BeanInfo beanInfo = Introspector.getBeanInfo(param.getClass());
PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
for (PropertyDescriptor property : propertyDescriptors) {
String key = property.getName();
// 過濾class屬性
if (!key.equals("class")) {
// 得到property對應的getter方法
Method getter = property.getReadMethod();
//獲取屬性對應的 value
Object value = getter.invoke(param);
//key=bean 屬性,value=bean 屬性對應的 value
map.put(key, value);
}
}
System.out.println(map);
}