可用于写通用的结果集处理器
查看JavaBean中的get和set方法
getBeanInfo(Student.class,Object.class)中,Object.class指定获取到该类的class为止。
public class Test {
public static void main(String[] args) throws Exception {
//将字节码传给c,可以通过类的字节码创建对象
/*ClassTest ct = new ClassTest(Student.class);
Student stu1 = (Student) ct.c.newInstance();*/
//通过类名创建对象
Student stu2 = Student.class.newInstance();
//获取所有字节码的属性信息
BeanInfo beanInfo = Introspector.getBeanInfo(Student.class,Object.class);
//获取所有属性描述器,返回数组
PropertyDescriptor[] pds = beanInfo.getPropertyDescriptors();
//遍历数组
for (PropertyDescriptor pd : pds) {
//获取所有属性名称
System.out.println(pd.getName());
//获取get方法
System.out.println(pd.getReadMethod());
//获取set方法
System.out.println(pd.getWriteMethod());
//调用set方法
pd.getWriteMethod().invoke(stu2, "121");
}
//查看调用结果
System.out.println(stu2.getName());
System.out.println(stu2.getId());
}
}