租用问题

质量为本、客户为根、勇于拼搏、务实创新

< 返回租用问题列表

spring三级缓存是什么,springboot三级缓存

发布时间:2023-11-03 17:44:33

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实例或工厂对象,而不会再次创建新的实例,从而避免了循环依赖的问题。