【spring学习前奏】JavaBean内省Introspector以及BeanInfo

Introspector.getBeanInfo(Class clazz)方法能够获得一个类的BeanInfo,Introspector内部有个名为beanInfoCacheMap,每次取一个类的beanInfo时,都会在beanInfoCache中缓存。如果没有,则新创建一个。返回并加入beanInfoCache

 

得到了BeanInfo,通过BeanInfo能够获取有关此bean的属性方法等信息。

getPropertyDescriptors()getmethodDescriptors()得到的都是数组,如PropertyDescriptors[]MethodDescriptor[]

 

由于主要是为了学习后面的Spring铺垫,所以我主要看了下PropertyDescriptors

有两个很重要的方法:

 Method

getReadMethod() 
          获得应该用于读取属性值的方法。

 Method

getWriteMethod() 
          获得应该用于写入属性值的方法。

恩,Method就是反射包中的Method.

获取后就可以调用这个方法对属性进行读或者写的操作啦。

 

Class对象也能获得Field,并且由对于属性的操作,但是如果是private那是没法操作的。

你可能感兴趣的:(【spring学习前奏】JavaBean内省Introspector以及BeanInfo)