Spring三级缓存

重点AOP作用于代理对象,方法中调用其余方法的注解需要将本类注入进去。

当AService出现了循环依赖的情况下---->AService提前进行AOP

0.creatingSet.add('aService')

1.class ->实例化得到Aservice原始对象-->提前进行AOP--->AService代理对象--->Map<be anMap, Aservice代理对象>

2.给bService属性赋值--->从单例池去找bService--->找不到--->创建BService的bean

        BService的Bean的生命周期

        2.1、class->实例化得到Bservice原始对象--->Map<beanName, BService原始对象>

        2.2、给aService属性赋值--->从单例池去找aService(一级缓存)--->找不到---->创建creatingSet--->Aservice出现了循环(一级缓存)---->earlySingletonObjects(二级缓存)---->Map(三级缓存)----->AService原始对象--->提前AOP----->Map---->lambda表达式--->执行---AOP--->AService代理对象(不完整)---->earlySingletonObjects(二级缓存)

        2.3、给其他属性赋值

        2.4、其余事情

        2.5、将对象放入单例池

3.给其他属性赋值

         CService的Bean的生命周期

        2.1、class->实例化得到Bservice原始对象--->Map<beanName, BService原始对象>

        2.2、给aService属性赋值--->从单例池去找aService--->找不到---->创建creatingSet--->Aservice出现了循环---->earlySingletonObjects---->提前AOP----->Map---->AService代理对象(不完整)---->earlySingletonObjects (getEarlyBeanReference)

        2.3、给其他属性赋值

        2.4、其余事情

        2.5、将对象放入单例池

4.其余事情AOP---->AService代理对象------>postProcessAfterInitialization()

5.createSet.remove('aService')

6.creatingSet.remove('aService')

7.将对象放入单例池

三级缓存

一级:singletonObjects map<beanName,Object> (单例池)

二级:earlySingletonObjects map<beanName, Object>

三级:singletonFactories(就是上边说map)

相关推荐

  1. Spring三级缓存

    2024-01-22 08:38:03       35 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-22 08:38:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-22 08:38:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-22 08:38:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-22 08:38:03       20 阅读

热门阅读

  1. 微前端:一种新型的前端架构方法

    2024-01-22 08:38:03       34 阅读
  2. XFTP会话日志

    2024-01-22 08:38:03       29 阅读
  3. ORACLE交集运算符是INTERSECT

    2024-01-22 08:38:03       27 阅读
  4. @RequestBody注解基础

    2024-01-22 08:38:03       27 阅读
  5. 刚学习的最长不递增子序列的新求法

    2024-01-22 08:38:03       36 阅读
  6. vue组件扩展

    2024-01-22 08:38:03       32 阅读
  7. MetaGPT中提到的SOP

    2024-01-22 08:38:03       36 阅读
  8. NLP自然语言处理实战

    2024-01-22 08:38:03       37 阅读
  9. Selenium批量自动化获取并下载图片

    2024-01-22 08:38:03       35 阅读