欢迎光临散文网 会员登陆 & 注册

导学:学习spring源码

2023-03-23 00:33 作者:小刘Java之路  | 我要投稿

最近下班在跟着视频在Debug学习spring源码

导学:

JavaBean内省Introspector以及BeanInfo

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

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

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

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

有两个很重要的方法:

Method   getReadMethod()

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

Method    getWriteMethod()

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

Method就是反射包中的Method.

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

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

spring的bean案例

  • 1.创建一个对象


  • 2.main方法测试

可以看出bean的反射


               


导学:学习spring源码的评论 (共 条)

分享到微博请遵守国家法律