回复
Spring bean到底是如何创建的?(下)(三)
pivoteic
发布于 2022-6-15 17:13
浏览
0收藏
2)初始化阶段
接下来进入invokeInitMethods方法
这里进行了bean的初始化,就是如果你的bean实现了InitializingBean接口或者你配置了自定义的initMethod(xml中有属性可以配置,@Bean注解的initMethod属性配置),这里就会回调你的方法
3)初始化之后阶段
这些阶段继续回调BeanPostProcessor方法,其实在这个阶段,就完成了对于对象的动态代理的生成,具体是由 AspectJAwareAdvisorAutoProxyCreator 这个实现完成的,大家可以自己翻一下这个实现类的postProcessAfterInitialization方法,是在这个类的父类中实现的。
到这里为止,一个单例的bean就被完完整整的给创建出来了,你平时使用的对象也就是这个对象。
接下来就是将对象放在 singletonObjects 缓存中,如果下次有查询的话,就直接从这个缓存中查找出来返回(上一篇文章说过,先查询,如果查不到再创建)。
文章转自公众号:三友的java日记
标签
已于2022-6-15 17:13:04修改
赞
收藏
回复
相关推荐