import java.beans.BeanInfo;
import java.beans.IntrospectionException;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
public class BeanInfoTest {
public int getA(){
return 1;
}
public static void main(String[] args) {
try {
BeanInfo bi =Introspector.getBeanInfo(BeanInfoTest.class, Object.class);
PropertyDescriptor pd[] = bi.getPropertyDescriptors();
for(PropertyDescriptor prodes:pd){
System.out.println(prodes.getName());
System.out.println(prodes.getReadMethod());
System.out.println(prodes.getWriteMethod());
}
} catch (IntrospectionException e) {
e.printStackTrace();
}
}
}
附件是结果,它竟然帮我找到了property a。
我比较好奇的问题是,我明明没有定义a这个字段的。难道反射的时候都是通过找到getXX setXX方法来判断是不是有这个属性吗?感觉这也太不合适了。还是说这样只是为了让所有权在我们手上,让我们使用规范的bean。提供完整的set get方法和字段?还望知道的人告知一二,
ibeautiful
肥皂起泡泡
相关分类