![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring
文章平均质量分 94
spring学习笔记
風如影
这个作者很懒,什么都没留下…
展开
-
spring源码:IOC容器存储和Bean对象的完整加载流程
spring主要通过BeanFactory接口的getBean方法来从IOC容器,即BeanFactory的实现类中获取某个bean对象实例,但是BeanFactory并不直接操作bean对象的存取,而是通过BeanRegistry的接口来处理,类似读写分离的概念。选中最合适的构造函数后,则进行构造函数的属性对象的注入。所以如果该被依赖的bean对象如果也在构造函数中依赖了当前正在创建的bean对象,则该依赖的bean对象就无法创建了,故出现了循环依赖问题,导致程序异常退出。原创 2022-12-26 17:17:39 · 490 阅读 · 1 评论 -
spring源码:bean加载相关组件
通过实现BeanDefinitionRegistry接口,并实现BeanDefinitionRegistry接口的registerBeanDefinition系列方法来将给定的BeanDefinition注册到BeanFactory中,实现类为DefaultListableBeanFactory 注册的bd保存到beanDefinitionMap中1、BeanDefinitionReader接口方法如loadBeanDefinitions 从xml文件或者类路径下使用了@Component系列注解的类原创 2022-12-03 19:30:38 · 214 阅读 · 0 评论 -
Spring源码:IOC容器BeanFactory和ApplicationContext体系结构
BeanFactory顶层接口,主要提供getBean方法,从BeanFactory获取给定beanName以及对应的bean对象实例ListableBeanFactory主要提供根据给定条件,如type,Annotation,获取对应的所有beans列表的接口HierarchicalBeanFactory提供getParentBeanFactory方法,使beanFactory具备层次化ConfigurableBeanFactory继承HierarchicalBeanFactory, Single原创 2022-12-03 19:19:39 · 272 阅读 · 0 评论