bean 的生命周期可以概括为七个阶段,从beanFactory 的getBean 调用开始,到bean 的销毁结束。
检查进程名称和缓存
处理父容器和子容器
处理依赖关系
选择范围策略
创建bean
类型转换处理
毁掉豆子
1. 处理名称,检查缓存
此步骤处理别名并将其解析为真实姓名。
FactoryBeans 也经过特殊处理。 如果以开头,则表示获取FactoryBean本身,否则表示获取其产品。
这里,在一级、二级和三级缓存中检查单例对象。
singletonFactories 的第三个缓存。包含单例工厂对象。
EarlySingletonObjects 二级缓存。保存单例工厂的产品对象。
当发生循环依赖时,产品就成为代理。如果不发生循环依赖,则产品成为原始对象。
singletonObjects 的一级缓存。存储单例的已完成对象。
原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/92435.html