spring IoC容器构造bean过程简单分析

Spring构造bean和管理初始化生命周期的工作在AbstractAutowireCapableBeanFactory中处理,分为构造bean和后续管理bean初始化生命周期。

1.  构造bean

1.1方法调用图

构造bean的入口就是beanFactory的getBean()方法,实际调用defaultBeanFactory的getBean()方法。经过层层调用,直到AabstractAutowireCapableBeanFactory中。调用方法图如下:


3-6均在AbstractAutowireCapableBeanFactory完成。

1.2设计到的类图

涉及的类图继承关系如下:

在doCreateBean()中,createBeanInstance返回的是一个BeanWrapper

BeanWrapper提供了设置和获取属性值(单个的或者是批量的),获取属性描述信息、查询只读或者可写属性等功能,用getWrappedInstance()方法就可以得到这个封装的bean的实例。BeanWrapperImpl里面的Object就是BeanWrapper“包裹”的bean,通过getWrappedInstance()方法对外提供。

1.3方法分析

主要分析AbstractAutowireCapableBeanFactory中的方法,其它类中的方法都是对这里方法的封装。

A,BeanWrapper的获取

BeanWrapper提供了设置和获取属性值(单个的或者是批量的),获取属性描述信息、查询只读或者可写属性等功能,用getWrappedInstance()方法就可以得到这个封装的bean的实例。BeanWrapperImpl里面的Object就是BeanWrapper“包裹”的bean,通过getWrappedInstance()方法对外提供。

/**
      * Return the bean instance wrapped by this object, if any.
      * @return the bea
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值