通过set注入对象 而不是构造器初始化对象

singleton不会报错 prototype会报错

https://www.youtube.com/watch?v=HGgytzLo0Vs&list=PLmOn9nNkQxJGt-uUnqDF0pJ2EPV1xT8E6&index=33&ab_channel=尚硅谷IT培训学校

spring解决办法 三级缓存 三张MAP

对象在三级缓存中的创建流程 A依赖B,B依赖A

1、A创建过程中需要B,于是先将A放到三级缓存,去实例化B。

3—A

B

2、B实例化的过程中发现需要A,于是B先查一级缓存寻找A,如果没有,再查二级缓存,如果还没有,再查三级缓存,找到了A,然后把三级缓存里面的这个A放到二级缓存里面,并删除三级缓存里面的A。

2—A

B

3、B顺利初始化完毕,将自己放到一级缓存里面(此时B里面的A依然是创建中的状态)。然后回来接着创建A,此时B已经创建结束,可以直接从一级缓存里面拿到B,去完成A的创建,并将A放到一级缓存。

1—B A