在Spring框架的源码分析中,一个关键概念是通过缓存中的ObjectFactory获取bean实例。尽管最初获取的bean实例可能不完整,但由于其单例特性,引用地址在初始化后保持不变,最终呈现的是完整的bean实例。二级缓存earlySingletonObjects用于判断bean是否涉及AOP。若无AOP,该缓存保存未填充属性的半成品bean;若有AOP,则保存代理bean的beanProxy,目标bean仍为半成品状态。refresh()方法作为Spring上下文启动的核心,负责触发整个上下文的初始化和刷新过程。
Spring框架bean实例缓存机制AOP代理refresh方法
2025-02-20