Fork me on GitHub

实例化Bean

过程如下

class-->实例化-->对象-->属性填充(属性依赖注入)--->初始化  afterPropertiesSet()--->AOP:BeanPostProcessor 后置处理(寻找切面)--->代理对象-->bean对象

注意:如果不需要AOP,直接返回之前实例化的对象,需要的话,将代理对象返回。

 

AbstractBeanFactory完成对不同getBean请求的响应,查询Bean定义及销毁方法的注册 ,实例化bean和依赖注入是在AbstractBeanFactory的入口,但是实际还是在AbstractAutowireCapableBeanFactory这个类中实现。

AbstractAutowireCapableBeanFactory做为AbstractBeanFactory的子类,它最主要的功能就是实现了默认的bean创建方法createBean().而在这个创建过程中,提供了诸如bean的属性注入,初始化方法的调用,自动装配的实现,bean处理器的调用。

先看下实例化时序图:

再看下UML:

 

 

参考:https://992012.iteye.com/blog/1916057

 

posted @ 2019-02-24 11:43  小传风  阅读(157)  评论(0编辑  收藏  举报