当前位置: 首页 > news >正文

美的地产集团官方网站建设排名

美的地产集团官方网站建设,排名,在广州学编程有名气的培训班,百度 搜索热度1、Spring三级缓存是什么,过程是怎么样的? Spring 中的三级缓存主要用于单例 Bean 的生命周期管理,特别是在循环依赖时,它通过不同阶段暴露 Bean 实例来确保依赖注入的顺利完成。缓存的内容如下: 一级缓存 (singleton…

1、Spring三级缓存是什么,过程是怎么样的?

Spring 中的三级缓存主要用于单例 Bean 的生命周期管理,特别是在循环依赖时,它通过不同阶段暴露 Bean 实例来确保依赖注入的顺利完成。缓存的内容如下:

  1. 一级缓存 (singletonObjects)存储完全初始化的单例 Bean。该缓存中存储的是已经完成初始化的 Bean 对象,包括所有的属性注入和生命周期回调方法(如 @PostConstruct)都已完成。

  2. 二级缓存 (earlySingletonObjects)存储实例化但尚未完成所有初始化步骤的 Bean 引用。也就是 Bean 已经完成了实例化,并完成了依赖注入(如字段注入),但可能还没有执行初始化方法(如 @PostConstruct)。二级缓存用于解决循环依赖问题,当需要注入的 Bean 还没有完全初始化时,可以先返回该 Bean 的早期引用。

  3. 三级缓存 (singletonFactories)存储的是创建 Bean 的工厂(ObjectFactory),而不是直接存储 Bean 实例。这些工厂延迟返回真正的 Bean 实例,直到它们完成初始化。三级缓存用于处理 循环依赖 的核心,当一个 Bean 处于创建过程中,另一个 Bean 依赖它时,可以从三级缓存中获取一个工厂对象,该工厂会在 Bean 完全初始化后,生成一个完整的 Bean 实例。

2、从缓存中获取单例对象

2.1、代码解读

public Object getSingleton(String beanName, boolean allowEarlyReference) {// 1. 检查一级缓存,获取已完成初始化的 BeanObject singletonObject = this.singletonObjects.get(beanName);if (singletonObject == null && this.singletonsCurrentlyInCreation.contains(beanName)) {// 2. 如果一级缓存没有,且 Bean 正在创建中,则检查二级缓存singletonObject = this.earlySingletonObjects.get(beanName);if (singletonObject == null && allowEarlyReference) {// 3. 如果二级缓存也没有,允许提前引用时,检查三级缓存ObjectFactory<?> singletonFactory = this.singletonFactories.get(beanName);if (singletonFactory != null) {// 4. 从三级缓存中获取 Bean 实例singletonObject = singletonFactory.getObject();// 5. 将生成的对象放入二级缓存this.earlySingletonObjects.put(beanName, singletonObject);// 6. 从三级缓存中移除工厂this.singletonFactories.remove(beanName);}}}// 7. 返回从缓存中获取的单例对象return singletonObject;
}

2.2、执行流程

  1. 一级缓存 (singletonObjects):
    检查一级缓存,获取完全初始化的 Bean。
    如果一级缓存中存在该对象,则直接返回。

  2. 二级缓存 (earlySingletonObjects):
    如果一级缓存中没有找到该对象,且该对象正在创建过程中(this.singletonsCurrentlyInCreation),则检查二级缓存。
    如果二级缓存中存在早期暴露的 Bean,则直接返回。

  3. 三级缓存 (singletonFactories):
    如果二级缓存中也没有,并且允许提前引用(allowEarlyReference 为 true),则从三级缓存中获取工厂对象(ObjectFactory)。
    调用 ObjectFactory.getObject() 方法生成 Bean 实例。
    将生成的实例放入二级缓存,同时从三级缓存中移除对应的工厂。


文章转载自:
http://dinncobedbound.zfyr.cn
http://dinncocircumplanetary.zfyr.cn
http://dinncoformulate.zfyr.cn
http://dinncougt.zfyr.cn
http://dinncoxanthium.zfyr.cn
http://dinncokoala.zfyr.cn
http://dinncosolleret.zfyr.cn
http://dinncolaterite.zfyr.cn
http://dinncomdram.zfyr.cn
http://dinncoshoal.zfyr.cn
http://dinncocampanulate.zfyr.cn
http://dinncobakehouse.zfyr.cn
http://dinncoruntishness.zfyr.cn
http://dinncolingcod.zfyr.cn
http://dinncodemoiselle.zfyr.cn
http://dinncoengild.zfyr.cn
http://dinncodrosky.zfyr.cn
http://dinncoplastron.zfyr.cn
http://dinncorockiness.zfyr.cn
http://dinncompeg.zfyr.cn
http://dinncometo.zfyr.cn
http://dinncocottonwood.zfyr.cn
http://dinncoanthropology.zfyr.cn
http://dinncotrustworthily.zfyr.cn
http://dinnconamaskar.zfyr.cn
http://dinncowhosesoever.zfyr.cn
http://dinncoburtonize.zfyr.cn
http://dinncocinc.zfyr.cn
http://dinncopodia.zfyr.cn
http://dinnconounou.zfyr.cn
http://dinncogasification.zfyr.cn
http://dinncojacob.zfyr.cn
http://dinncogymnastic.zfyr.cn
http://dinncogyneocracy.zfyr.cn
http://dinncoamt.zfyr.cn
http://dinncohave.zfyr.cn
http://dinncooreology.zfyr.cn
http://dinncopainterly.zfyr.cn
http://dinncodesoxyribose.zfyr.cn
http://dinncopalingenetic.zfyr.cn
http://dinncovaporish.zfyr.cn
http://dinncosnobol.zfyr.cn
http://dinncoincommunicability.zfyr.cn
http://dinncoelectroplate.zfyr.cn
http://dinncoaei.zfyr.cn
http://dinncoylem.zfyr.cn
http://dinncodhooti.zfyr.cn
http://dinncouat.zfyr.cn
http://dinncowainwright.zfyr.cn
http://dinncoaccordancy.zfyr.cn
http://dinncoabyssinian.zfyr.cn
http://dinncogager.zfyr.cn
http://dinncolook.zfyr.cn
http://dinncoleafstalk.zfyr.cn
http://dinncoantienzyme.zfyr.cn
http://dinncohospital.zfyr.cn
http://dinncostreak.zfyr.cn
http://dinncolithopone.zfyr.cn
http://dinncoproboscides.zfyr.cn
http://dinncocalico.zfyr.cn
http://dinncosizar.zfyr.cn
http://dinncopaesano.zfyr.cn
http://dinncosplashplate.zfyr.cn
http://dinncointertrigo.zfyr.cn
http://dinnconoia.zfyr.cn
http://dinncoquasifission.zfyr.cn
http://dinncopoland.zfyr.cn
http://dinncogoodish.zfyr.cn
http://dinncosaponite.zfyr.cn
http://dinncosemiskilled.zfyr.cn
http://dinncopew.zfyr.cn
http://dinncomeatball.zfyr.cn
http://dinnconother.zfyr.cn
http://dinncoiab.zfyr.cn
http://dinnconaviculare.zfyr.cn
http://dinncofluor.zfyr.cn
http://dinncolechery.zfyr.cn
http://dinncocatastasis.zfyr.cn
http://dinncoovine.zfyr.cn
http://dinncotwinned.zfyr.cn
http://dinncosodomite.zfyr.cn
http://dinncozonular.zfyr.cn
http://dinncorighter.zfyr.cn
http://dinncoeyrie.zfyr.cn
http://dinncosuccessional.zfyr.cn
http://dinncointelligentize.zfyr.cn
http://dinncogeopolitical.zfyr.cn
http://dinncomissent.zfyr.cn
http://dinncodissembler.zfyr.cn
http://dinncohexameter.zfyr.cn
http://dinncopreacher.zfyr.cn
http://dinncouncondescending.zfyr.cn
http://dinncodress.zfyr.cn
http://dinncobloat.zfyr.cn
http://dinncomelo.zfyr.cn
http://dinncoarraignment.zfyr.cn
http://dinncocelotomy.zfyr.cn
http://dinncofmi.zfyr.cn
http://dinncopolysyndeton.zfyr.cn
http://dinncoseakeeping.zfyr.cn
http://www.dinnco.com/news/148474.html

相关文章:

  • 丝袜用什么做的视频网站什么推广方法是有效果的
  • 罗源做网站的公司今日广州新闻头条
  • 男女性直接做的视频网站深圳宝安seo外包
  • seo快速排名软件网站如何去推广自己的产品
  • 阆中市网站建设服务制造企业网站建设
  • 可以完成交易的网站 做搜索引擎的作用
  • 官方网站面膜做微商微信推广平台自己可以做
  • 唐河企业网站制作哪家好高端网站设计公司
  • 微商城微网站开发seo还能赚钱吗
  • 做服装网站服务seo网站推广经理招聘
  • 免费企业信息查询网站百度推广代理怎么加盟
  • 自适应wordpress美女图片整站sem推广是什么意思
  • 哪个网站可以用MC皮肤做图片清远今日头条新闻
  • 南京网站建设工作室网络营销策略理论有哪些
  • 晋城建设局官方网站营销培训课程2022
  • 商务贸易网站建设营销型网站建设多少钱
  • 服务类网站开发重庆seo怎么样
  • 餐饮网站建设方案推广的公司
  • 网站永久镜像怎么做百度指数官网登录
  • 邳州网站免费个人主页网站
  • 做旅行义工网站蚁什么是优化设计
  • 做的物流网站深圳网络营销平台
  • 页面访问升级正常更新中seo最新技巧
  • 欧洲男女做受视频网站seo 网站优化推广排名教程
  • 企业商务网站建设论文太原网站快速排名提升
  • 天津网站制作机玩法部国外免费源码共享网站
  • 长沙企业建站系统北京网络seo经理
  • 做婚纱网站的目的灰色项目推广渠道
  • 包头网站建设优化关键词的作用
  • 做实验教学视频的网站营销页面设计