原创

Spring中Bean的生命周期

温馨提示:
本文最后更新于 2022年01月22日,已超过 164 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我


1、实例化bean:反射的方式生成对象

2、填充bean的属性:populateBean(),进行依赖注入,这里可以扩展出循环依赖问题(三级缓存)

3、调用aware接口相关的方法:invokeAwareMethod(完成BeanName、BeanFactory、BeanClassLoader对象的属性设置)

4、调用BeanPostProcessor中的前置方法:使用的比较多的有(ApplicationContextPostProcessor,设置ApplicationContext,Enviroment,ResourceLoader等对象)

5、调用initMethod方法:invokeInintMethod(),判断是否实现了initializingBean接口,如果有,调用afterPropertiesSet方法,没有就不调用

6、调用BeanPostProcessor的后置处理方法:spring的aop就是在此处实现的,AbstractAutoProxyCreator注册Destruction相关的回调接口:钩子函数

7、获取到完整的对象:可以通过getBean的方式来进行对象的获取

8、销毁流程  1.判断是否实现了DispoableBean接口,2.调用destoryMethod方法

正文到此结束
本文目录
    Loading...