什么是 spring的三级缓存
在Spring框架中,有一个称为“三级缓存”的机制,用于存储Bean的实例对象。三级缓存是指三个不同的缓存容器,分别是singletonObjects、earlySingletonObjects和singletonFactories。
-
singletonObjects:这是最终的单例缓存,用于存储已经完全初始化的单例Bean。当一个Bean被完全初始化后,会被放入singletonObjects缓存中,以便以后使用。
-
earlySingletonObjects:这是用于存储正在创建中的Bean实例的缓存。当一个Bean正在创建的过程中,会被放入earlySingletonObjects缓存中,以便解决循环依赖问题。当Bean创建完成后,会从earlySingletonObjects缓存中移除,并放入singletonObjects缓存中。
-
singletonFactories:这是用于存储创建Bean实例的工厂对象的缓存。当一个Bean正在创建的过程中,其工厂对象会被放入singletonFactories缓存中。当Bean创建完成后,会从singletonFactories缓存中移除,并放入singletonObjects缓存中。
通过使用三级缓存机制,Spring能够在创建Bean的过程中解决循环依赖问题,并确保单例Bean的唯一性和正确性
原文地址: https://www.cveoy.top/t/topic/hPo1 著作权归作者所有。请勿转载和采集!