python获取数据

Python(Django)遇到的问题及解决方法

  返回  

Bean的生命周期

2021/8/20 14:40:15 浏览:

1.图

在这里插入图片描述

2.基础过程

eanFactory是访问spring容器的根接口,几乎所有的bean都遵循以下生命周期。

createBeanInstance 初始化
populateBean 属性填充
initializeBean 实例化,实例化又分为调用invokeAwareMethods方法,执行PostProcessorsBefore方法,然后调用invokeInitMethods方法,最后执行PostProcessorsAfter方法

3.本质过程

1.实例化Bean,反射的方式生成对象:Bean如何实例化:refresh()
2.填充属性,populateBean(),循环依赖(三级缓存)

3.调用Aware接口方法,invokeAwareMethod(完成BeanName,BeanFactory,BeanClassLoader对象的属性设置)
4.调用BeanPostProcessor前置方法:ApplicationContextPostProcessor,设置ApplicationContext,Environment,ResourceLoader等对象
5.调用init-method方法:invokeInitmethod(),判断是否实现了initializingBean接口,如果有,调用afterPropertiesSet方法
6.调用BeanPostProcessor后置方法,Spring的Aop就是在此处实现的,AbstractAutoProxyCreator,注册Destruction相关的回调接口:钩子函数

7.获取到完整的对象,调用getBean进行对象获取
8.销毁:是否实现了DispoableBean接口,调用destryMethod方法

注释:Bean的生命周期过于复杂,这里只是一个为了记录一下

联系我们

如果您对我们的服务有兴趣,请及时和我们联系!

服务热线:18288888888
座机:18288888888
传真:
邮箱:888888@qq.com
地址:郑州市文化路红专路93号