zoukankan      html  css  js  c++  java
  • spring框架学习(11)Spring 如何解决循环依赖?

    序言

    什么是循环依赖?

    Spring 如何解决循环依赖问题

    先上个通俗的答案解释,三级缓存

     /**
       * 单例对象的缓存:bean 名称——bean 实例,即:所谓的单例池。
       * 表示已经经历了完整生命周期的 Bean 对象
       * <b>第一级缓存</b>
       */
      Map<String, Object> singletonObjects = new ConcurrentHashMap<>(256);
    ​
      /**
       * 早期的单例对象的高速缓存:bean 名称——bean 实例。
       * 表示 Bean 的生命周期还没走完(Bean 的属性还未填充)就把这个 Bean 存入该缓存中
       * 也就是实例化但未初始化的 bean 放入该缓存里
       * <b>第二级缓存</b>
       */
      Map<String, Object> earlySingletonObjects = new HashMap<>(16);
    ​
      /**
       * 单例工厂的高速缓存:bean 名称——ObjectFactory。
       * 表示存放生成 bean 的工厂
       * <b>第三级缓存</b>
       */
      Map<String, ObjectFactory<?>> singletonFactories = new HashMap<>(16);

    资料

    Spring 是如何解决循环依赖的?

  • 相关阅读:
    Lucene
    SQL优化以及索引
    Mysql优化
    RocketMQ
    RocketMQ
    Session共享
    Linux安装Nginx
    初识nginx
    跨域,防止表单重复提交
    HttpClient案例
  • 原文地址:https://www.cnblogs.com/cnki/p/14588398.html
Copyright © 2011-2022 走看看