Introspector
Introspector是JDK中java.beans包下的类,它为目标JavaBean提供了一种了解原类方法、属性和事件的标准方法。通俗的说,就是可以通过Introspector构建一个BeanInfo对象,而这个BeanInfo对象中包含了目标类中的属性、方法和事件的描述信息,然后可以使用这个BeanInfo对象对目标对象进行相关操作。
BeanInfo beanInfo = Introspector.getBeanInfo(A.class);
PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
for (PropertyDescriptor pd : propertyDescriptors ) {
Method writeMehtod = pd.getWriteMethod();
Method readMethod = pd.getReadMethod();
//写
RefectUtil.invoke(a,writeMethod,"1");
//读
Object value = RefectUtil.invoke(a,readMethod);
}