Linux 拨号vps windows公众号手机端

spring三级缓存是什么

lewis 8年前 (2017-11-10) 阅读数 7 #程序编程
文章标签 spring

Spring框架中的三级缓存是指用于缓存BeanDefinition的三个ConcurrentHashMap容器,分别为singletonObjects、earlySingletonObjects和singletonFactories。

  1. singletonObjects:存放已经完全初始化的单例Bean对象。在第一次创建Bean时,会将Bean的实例放入该缓存中。

  2. earlySingletonObjects:存放已经提前初始化但尚未完全初始化的单例Bean对象。在创建Bean时,如果需要解决循环依赖问题,会将正在创建的Bean实例暂时放入该缓存中。

  3. singletonFactories:存放已经提前初始化但尚未完全初始化的单例Bean的工厂对象。在创建Bean时,如果需要解决循环依赖问题,会将正在创建的Bean的工厂对象暂时放入该缓存中。

这三个缓存的作用是为了解决Spring中的循环依赖问题。当创建Bean时,如果发现存在循环依赖,会先从缓存中获取相应的Bean实例或工厂对象,而不会再次创建新的实例,从而避免了循环依赖的问题。

版权声明

本文仅代表作者观点,不代表米安网络立场。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门