Introspector.getBeanInfo(Class clazz)方法能够获得一个类的BeanInfo,Introspector内部有个名为beanInfoCache的Map,每次取一个类的beanInfo时,都会在beanInfoCache中缓存。如果没有,则新创建一个。返回并加入beanInfoCache。
得到了BeanInfo,通过BeanInfo能够获取有关此bean的属性方法等信息。
如getPropertyDescriptors()和getmethodDescriptors()得到的都是数组,如PropertyDescriptors[]和MethodDescriptor[]
由于主要是为了学习后面的Spring铺垫,所以我主要看了下PropertyDescriptors
有两个很重要的方法:
getReadMethod() | |
getWriteMethod() |
恩,Method就是反射包中的Method.
获取后就可以调用这个方法对属性进行读或者写的操作啦。
Class对象也能获得Field,并且由对于属性的操作,但是如果是private那是没法操作的。