Update Rocket.md

update
pull/10/head
Guangxin Yuan 3 years ago committed by GitHub
parent 4dba21a9b0
commit d44d8f81d4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -775,7 +775,7 @@ HashSet的value存的是一个static finial PRESENT = newObject()。而HashSet
### Spring如何解决循环依赖问题
Spring使用了三级缓存解决了循环依赖的问题。在populateBean()给属性赋值阶段里面Spring会解析你的属性并且赋值当发现A对象里面依赖了B此时又会走getBean方法但这个时候你去缓存中是可以拿的到的。因为我们在对createBeanInstance对象创建完成以后已经放入了缓存当中所以创建B的时候发现依赖A直接就从缓存中去拿此时B创建完A也创建完一共执行了4次。至此Bean的创建完成最后将创建好的Bean放入单例缓存池中。
Spring使用了三级缓存解决了循环依赖的问题。在populateBean()给属性赋值阶段里面Spring会解析你的属性并且赋值当发现A对象里面依赖了B此时又会走getBean方法但这个时候你去缓存中是可以拿的到的。因为我们在对createBeanInstance对象创建完成以后已经放入了缓存当中所以创建B的时候发现依赖A直接就从缓存中去拿此时B创建完A也创建完一共执行了4次。至此Bean的创建完成最后将创建好的Bean放入单例缓存池中。(非单例的实例作用域是不允许出现循环依赖)
### BeanFactory和ApplicationContext的区别

Loading…
Cancel
Save