获取Java Bean简单属性
/**n o w j a v a . c o m - 时 代 Java**/ //package com.nowjava; import java.beans.BeanInfo; import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; public class Main { public static Object getSimpleProperty(Object bean, String name) /* from 时 代 J a v a - nowjava.com */ throws IllegalArgumentException, IllegalAccessException, InvocationTargetException { Method readMethod = getSimplePropertyReadMethod(bean, name); if (readMethod == null) throw new IllegalArgumentException( "No readMethod for property:" + name); readMethod.setAccessible(true); Object value = readMethod.invoke(bean, new Object[0]); return value; } public static Method getSimplePropertyReadMethod(Object bean, String name) { PropertyDescriptor propertyDescriptor = getPropertyDescriptor(bean, name); if (propertyDescriptor == null) throw new IllegalArgumentException("No property:" + name); return propertyDescriptor.getReadMethod(); } public static PropertyDescriptor getPropertyDescriptor(Object bean, String name) { PropertyDescriptor[] descriptors = getPropertyDescriptors(bean); for (int i = 0; i < descriptors.length; i++) { if (name.equals(descriptors[i].getName())) return descriptors[i]; } return null; } public static PropertyDescriptor[] getPropertyDescriptors(Object bean) {