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

牡丹江制作网站iis 手机网站

牡丹江制作网站,iis 手机网站,自己制作一个网站,抖音代运营的资源文章目录 内容总结循环依赖循环依赖的解决方案设计模拟循环依赖解决循环依赖的关键 缓存仍然存在问题 代理 解决代理问题的关键 提前AOP仍然存在问题 AOP全部提前与Bean创建流程设计严重不符 解决违背设计问题的关键 尽量提前而非全部提前仍然存在问题 多重循环 内容总结 循环… 文章目录 内容总结循环依赖循环依赖的解决方案设计模拟循环依赖解决循环依赖的关键 缓存仍然存在问题 代理 解决代理问题的关键 提前AOP仍然存在问题 AOP全部提前与Bean创建流程设计严重不符 解决违背设计问题的关键 尽量提前而非全部提前仍然存在问题 多重循环 内容总结 循环依赖 循环依赖只存在于 Spring 中, 是因为 Spring 创建 Bean 的流程中, 依赖注入阶段, 会先从单例池中找, 没有再从定义池中找, 针对定义池中找到的候选项会通过 getBean 创建其单例并缓存到单例池, 此机制导致了存在循环依赖的问题. 如 A 依赖 B, B 依赖 A, getBean A 的时候, A 还没有入单例池. 发现依赖 B, 又去 getBean B, 又发现依赖 A, 在单例池中没有找到 A, 在定义池中找到了 A, 所以又去 getBean A, …, Spring 通过三级缓存的方式, 解决了这个问题 Spring 完成依赖注入的核心方法是 BeanFactory.resolveDependency, 做先类型后名称的筛选, 取到符合条件的候选项, 候选项如果来自单例池, 则是一个 Bean, 如果来自定义池, 则就是一个 Class 对象, 在这里会对其的 BeanName 做 getBean 操作, 生成 Bean 并缓存到单例池. 这个流程可以简化为, Spring 创建 Bean 的流程中的依赖注入阶段, 会对其依赖做 getBean 操作 其中 findAutowireCandidates 步骤会从单例池和定义池中找符合类型条件的 BeanName, 如果当前依赖的 Bean 还没有被生成单例并缓存, 则在单例池中找不到, 就会去定义池中找, 定义池中通过遍历 beanDefinitionNames 的方式拿到每一个 BeanDefinition, 第一步就是判断是否为 FactoryBean, 内部就会判断 beanClass 字段中的全限定类名是否被加载成为 Class 对象, 没有就会执行类加载, 并缓存结果 循环依赖的解决方案设计 模拟循环依赖 假设有AB两个类, A依赖B且B依赖A, 遍历创建单例Bean时先A再B, A依赖B所以去创建B, B依赖A所以去创建A, 陷入循环 Component public class A {Autowiredprivate B b; } Component public class B {Autowiredprivate A a; }解决循环依赖的关键 缓存 需要提前暴露A, 让B找的到A, 即增加一个缓存, 即可打破循环依赖. 该缓存就是解决循环依赖的关键 仍然存在问题 代理 假设被aop切到, 最终会生成代理对象, 则现有逻辑会导致, 加入单例池的是代理对象, 被注入的是原始对象, 不符合单例设计 解决代理问题的关键 提前AOP 只要在加入缓存前, 提前执行aop, 就能保证单例. 不管是否需要aop, 最终被注入的和加入单例池的一定是同一个对象 仍然存在问题 AOP全部提前与Bean创建流程设计严重不符 在Spring关于Bean创建流程的设计中, AOP是发生在初始化(后)阶段的, 现在把AOP全部提前到实例化后, 严重违背设计 解决违背设计问题的关键 尽量提前而非全部提前 仍然存在问题 多重循环 假设a依赖bc, b依赖a, c依赖a, 则按照现有逻辑, b和c注入的a不是同一个
http://www.sadfv.cn/news/126283/

相关文章:

  • 溧阳建设局网站6江苏盐城网络科技有限公司
  • 深圳专门网站建设金华网站建设外包
  • 网上网站代码可以下载吗万维网网站注册
  • 珠海网站制作品牌策划网站推广教学
  • 正在建设的网站可以随时进入吗织梦网站自适应怎么做
  • 住房公积金网站怎么做减员建筑人才网官方网站中国建筑科学院有限公司认证中心
  • 江门企业做网站解决wordpress慢
  • 基于开源框架的网站开发如何 建设一个网站
  • 可以做家装设计的网站河北省建设工程安全生产监督管理网站
  • 自己做视频直播网站有哪些网站可以做微商
  • 工信部 网站备案江西建设质量安全监督网站
  • 顺企网网站建设北京网站推广排名外包
  • 做网站如何将一张图片直接变体西安网站建设最新案例
  • 耐思尼克的建站宝盒财务公司承兑汇票
  • 网站每天一条推送怎么做的东莞seo关键词排名优化推广
  • 快车app官方下载百度seo软件首选帝搜软件
  • 广东网站开发项目齐河县城乡建设局官方网站
  • 台州高端网站设计做MAD生肉网站
  • 福建示范校建设专题网站wordpress文字添加图片
  • 舞蹈培训网站模板商标查询官方入口
  • 高校服务地方专题网站建设工作站
  • 八宝山做网站公司Discuz采集到Wordpress
  • 北京网站搭建哪家好河南住房和城乡建设厅门户网站
  • 广州网站建设推荐q479185700霸屏百度入驻商家
  • 17网站一起做网店潮汕怎么介绍自己做的网页
  • 个人网站asp源码wordpress转emlog博客
  • 北京诚信建设网站什么是网站可信认证
  • 网站建设与网页设计入门doooor设计
  • 办公家具 技术支持 东莞网站建设网站建设第三方验收收费标准
  • 网站制作框架装修设计培训班哪个好