产品与代码
文章平均质量分 88
zfj321
这个作者很懒,什么都没留下…
展开
-
Spring循环依赖的问题
什么是循环依赖?就是两个Bean相互引用,比如用@Autowire 相互注入。 那么Spring是如何解决这个问题的呢?在Bean还未完全实例化前(类只实例化了一部分),将bean提前暴露出来,可以被其他Bean引用。 源码解析: 问题1:什么情况下需要提前暴露? Spring托管的bean是通过getBean()-->doCreateBean()创建的。 正常情况下,单例模式,第一次调用getBean单例初始化完成后,直接放入cache了,后面再次调用直接从cache拿,不用走doCrea原创 2020-10-02 20:23:26 · 213 阅读 · 0 评论 -
彻底搞懂Spring中BeanFactory和FactoryBean的区别
我认为这是Spring源码中最让人迷惑的两个接口,这两个接口的java doc 实际上写的还是很清楚的,只不过要看懂java doc 前提是你得先理解这两个类各自是干啥用的,死循环了,有点黑色幽默。其实我当初经历这个过程,刚开始看java doc 一头雾水,当我彻底弄懂了这两个类,再回过头来看,感觉这个javadoc写的是如此的清晰。 其实这两个作用分工是很明确的: BeanFactory 是Spring核心的容器接口,ApplicationContext继承了BeanFactory,他是Spring容原创 2020-10-02 13:16:21 · 1160 阅读 · 0 评论