内省(Introspector)

/**
* 内省:通过反射来操作javabean
* 内省类 --> Bean信息 --> 属性描述符 --> 属性的get/set对应的Method --> 进行反射
* commons-beanutils,他就是依赖内省完成的
*
* @param name 指定成员变量名称
*/
private void beanOperation(String name) {
try {
//得到BeanInfo对象,得到指定属性信息
BeanInfo bi = Introspector.getBeanInfo(UserLoginBean.class);
//获取属性的描述类
PropertyDescriptor[] propertyDescriptors = bi.getPropertyDescriptors();
//通过变量来查找类的属性
for (PropertyDescriptor pd : propertyDescriptors) {

if (pd.getName().equals(name)) {
pd.getReadMethod();//获取用于读取属性值的方法
pd.getWriteMethod();//获取用于写入属性值的方法
}

}

} catch (IntrospectionException e) {
e.printStackTrace();
}
}
posted @ 2018-12-17 10:24  好胖的兔子  阅读(323)  评论(0编辑  收藏  举报