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

古田住房与建设局网站广昌网站建设

古田住房与建设局网站,广昌网站建设,莞城网站建设公司,app广告联盟1.什么是循环依赖? 循环依赖就是循环引用,就是两个或多个Bean相互之间的持有对方的引用,循环的依赖将会导致陷入死循环。这就是Spring发生循环依赖的问题。 循环依赖有三种形式: A依赖B,B又依赖A它们之间形成了互相…

1.什么是循环依赖?

循环依赖就是循环引用,就是两个或多个Bean相互之间的持有对方的引用,循环的依赖将会导致陷入死循环。这就是Spring发生循环依赖的问题。

循环依赖有三种形式:

  • A依赖B,B又依赖A它们之间形成了互相依赖
  • A 依赖B,B依赖C,C又依赖A,形成了三者间依赖
  • A 依赖A 形成了自我依赖

2.如何去解决循环依赖?

Spring中设计了三级缓存来解决循环依赖的问题,当我们去调用getBean()方法的时候,Spring会先从一级缓存中去找到目标 Bean,如果发现一级缓存中没有便会去二级缓存中去找,而如果一、二级缓存中都没有找到,意味着该目标 Bean 还没有实例化。于是,Spring 容器会实例化目标 Bean。然后,将目标 Bean 放入二级缓存中,同时,加上标记是否存在循环依赖。如果不存在循环依赖便会将目标 Bean 存入到二级缓存,否则,便会标记该 Bean 存在循环依赖,然后将等待下一次轮询赋值,也就是解析@Autowired 注解。等@Autowired 注解赋值完成后(PS:完成赋值的 Bean 称为成熟 Bean)会将目标 Bean 存入到一级缓存。

Spring 一级缓存中存放所有的成熟 Bean级缓存中存放所有的早期 Bean,先取一级缓存,再去二级缓存。

3.三级缓存的作用是什么?

三级缓存是用来存储代理 Bean,当调用 getBean()方法时,发现目标 Bean 需要通过代理工厂来创建此时会将创建好的实例保存到三级缓存,最终也会将赋值好的 Bean 同步到一级缓存中。]

4.Spring 中哪些情况下,不能解决循环依赖问题?

  1. 多例 Bean 通过 setter 注入的情况,不能解决循环依赖问题
  2. 构造器注入的 Bean 的情况,不能解决循环依赖问题
  3. 单例的代理 Bean 通过 Setter 注入的情况,不能解决循环依赖问题
  4. 设置了@DependsOn 的 Bean 的情况,不能解决循环依赖问题
http://www.dtcms.com/a/493923.html

相关文章:

  • 什么网站值得做推广公司的网站可以采取哪些方式
  • 濮阳网站建设推广2w网站2w网站建设建设
  • 网站建设方案书备案注册域名哪个网站好
  • 做营销型网站公司深圳网站营销公司简介
  • 如何做影视剧网站下列哪个不是网络营销成熟阶段出现的网络营销方式
  • 泰州网站制作平台潮州专业网站建设制作
  • 永嘉县住房和城乡建设局网站网页代码编辑器
  • .net招聘网站怎么做网站收录了没有排名
  • 广东网站建设方便企业网站推广建议
  • 化妆网站建设的目的大流量网站建设
  • iis 多网站信誉楼线上商城小程序
  • 一个网站需要多少钱深圳哪里做网站好
  • 如何在网站上做网页链接正在备案怎么建网站
  • 网站开发项目具体的流程设计接单网站大全
  • 做外汇网站做什么类型网站好网站专题策划案例
  • 网站建设企业网站价格企业服务公司经营范围是什么
  • 网站开发主要包括哪些方面建筑设计软件有哪些
  • 免费网站建设联系电话昆明做网站
  • vs2013可以做网站么优质的成都网站建设推
  • 网站备案信息加到哪里西宁哪家公司做网站
  • 手机触屏网站深圳在线直播
  • 顺的网站建设服务建站资讯
  • 网站做动态图片用云空间制作网站
  • 深圳外贸网站制作美的地产集团官方网站建设
  • 网站不备案不能用吗网站备案被注销
  • 网站建设与规划实验总结做网站创新互联
  • node做网站怎么知道蜘蛛来过平台如何制作网站
  • WordPress如何修改固定链接手机端网站优化
  • 做网站的优点建网站视频教程
  • 外贸网站国际化怎么做失信人信息查询