阳哥讲面试题(六)AOP,循环依赖

AOP

前言

image

代码示例

image
image
image
image

Spring4+SpringBoot1.5.9

image
image

Spring5+SpringBoot2.3.3

image

Spring循环依赖

循环依赖是什么

image
image

Spring循环依赖报错演示BeanCurrentlyCreationException

构造方法注入(永远无法避免循环依赖问题)纯JavaSE,没有Spring容器

image
image
image

image

image

Set方法注入(可以解决循环依赖的问题)纯JavaSE,没有Spring容器

image
image
image

验证Spring容器循环依赖

image

  • singleton(支持循环依赖)
    image
    image
    image
    image
    image
  • prototype(不支持循环依赖)
    image
    image
    image

Spring内部通过3级缓存解决循环依赖

概述

DefaultSingletonBeanRegistry
image

image
image

image
image
image

image
image
image

Debug源码

image
image
image
image

refresh打个断点
image

再次debug
进去refresh方法
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image
image

总结

image
image
image
image
image
image

image

posted @ 2021-07-15 16:34  卡卡罗特琪琪  阅读(145)  评论(0编辑  收藏  举报