![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
源码解读
文章平均质量分 88
zfj321
这个作者很懒,什么都没留下…
展开
-
Spring中用@DependsOn注解控制Bean的创建顺序
1. 概述Spirng容器自己会管理bean的生命周期和bean实例化的顺序,但是我们仍然可以根据我们自己的需求进行定制。我可以可以选择使用SmartLifeCycle接口,也可以用@DependsOn注解来管理初始化顺序。这个说明文档展示了@DependsOn的用法和依赖的bean缺失的问题和bean循环依赖(在一个bean实例化过程中依赖另一个bean)的问题。2. Maven首选,我们导入spring-context-xxx.jar的依赖。我们需要在pom.xml中加入以内容:.原创 2020-10-06 21:48:32 · 570 阅读 · 1 评论 -
Spring循环依赖的问题
什么是循环依赖?就是两个Bean相互引用,比如用@Autowire 相互注入。那么Spring是如何解决这个问题的呢?在Bean还未完全实例化前(类只实例化了一部分),将bean提前暴露出来,可以被其他Bean引用。源码解析:问题1:什么情况下需要提前暴露?Spring托管的bean是通过getBean()-->doCreateBean()创建的。正常情况下,单例模式,第一次调用getBean单例初始化完成后,直接放入cache了,后面再次调用直接从cache拿,不用走doCrea原创 2020-10-02 20:23:26 · 207 阅读 · 0 评论 -
彻底搞懂Spring中BeanFactory和FactoryBean的区别
我认为这是Spring源码中最让人迷惑的两个接口,这两个接口的java doc 实际上写的还是很清楚的,只不过要看懂java doc 前提是你得先理解这两个类各自是干啥用的,死循环了,有点黑色幽默。其实我当初经历这个过程,刚开始看java doc 一头雾水,当我彻底弄懂了这两个类,再回过头来看,感觉这个javadoc写的是如此的清晰。其实这两个作用分工是很明确的:BeanFactory 是Spring核心的容器接口,ApplicationContext继承了BeanFactory,他是Spring容原创 2020-10-02 13:16:21 · 1152 阅读 · 0 评论