spring bean的三级缓存
时间: 2024-03-07 14:40:07 浏览: 57
spring三级缓存解析
Spring的三级缓存是用来解决循环依赖问题的机制。它包含以下三个缓存:
1. singletonObjects缓存:用来存放已经完全初始化的单例Bean实例,也就是最终被返回的单例Bean实例。在缓存中,Bean的名字和Bean实例以键值对的形式存在。
2. earlySingletonObjects缓存:用来存放已经创建但还未完成初始化的单例Bean实例。这些Bean实例通常是因为依赖其他Bean实例而无法完成初始化,处于不完整状态。
3. singletonFactories缓存:用来存放Bean实例的工厂对象,这些工厂对象可以用来创建单例Bean实例。当Bean实例处于循环依赖关系时,Spring会先创建一个用于创建Bean实例的工厂对象,放入singletonFactories缓存中。
阅读全文