1、BeanFactory的结构示意图
2、BeanFactory中子接口的介绍
(1)ListableBeanFactory
该接口定义了访问容器中Bean基础信息的若干方法,查看Bean的个数【getBeanDefinitionCount】,获取Bean的配置名,查看容器是否包含某一个Bean等方法【containsBeanDefinition】。
(2)HierarchicalBeanFactory
父子级联的接口,子容器可以通过接口方法访问父容器。
(3)ConfigurableBeanFactory
核心接口之一,负责Bean的初始化和属性的set和构造函数的注入。
(4)AutowireCapableBeanFactory
定义将容器Bean按照某种规则进行自动的装配的方法【也就是后面Bean节点上的Autowire】。
(5)BeanDefinitionRegistry
Spring配置文件中每一个Bean节点元素在Spring容器都通过一个BeanDefinition对象表示,它描述了Bean的配置信息。而BeanDefinitionRegistry提供了向容器手动注册BeanDefinition对象的方法。
3、总结
从上面的体系结构中我们可以看出来。BeanFactory就是一个精密的机器。每一个类都负责不同的事情,但是他们最终的目的有没发现就是怎么把一个类的对象如何初始化,然后找一个地方存储起来,存储起来的规则是什么是根据byName,byType还是constructor等,然后在确认是不是单例的还是多例的,然后Bean的加载完毕以后那么等着的就是去注册BeanDefinition,每一个Bean节点对应了一个BeanDefinition,存储了Bean的名称,类路径,等相关的信息,存储起来以后最终放入一个BeanDefinitionMap中存储起来。(逆向思维思考一下问题:我们知道去买苹果,多个我们想到的肯定是用一个篮子装,折射到程序中我们可以发现如果是多个数据,还是表中的多条记录都是用一个集合去装载)。所以想象一个在Spring的Bean的注册过程中这么多Bean节点一个Bean节点对应一个BeanDefinition那么多个呢。肯定是用一个List<BeanDefinitionMap>.去装载。这个Map的类型是BeanDefinitionMao<String,BeanDefinition>。
相关推荐
spring3中实例化BeanFactory的3中方法
Spring的BeanFactory的接口的中文解释
Spring中ApplicationContext和beanfactory区别.rar
spring之beanfactory 的一些基本知识与其关系使用
NULL 博文链接:https://lgd-java2eye.iteye.com/blog/756599
Spring注解驱动开发第41讲——Spring IOC容器创建源码解析(一)之BeanFactory的创建以及预准备工作(合起来整个过程)
BeanFactory创建对象.docx
BeanFactory的Bean的生命周期流程图
68-BeanFactory与FactoryBean1
NULL 博文链接:https://364232252.iteye.com/blog/2369489
对BeanFactory的相关所有接口的功能的关键点进行了总结描述,中文版本
NULL 博文链接:https://ylxy3058.iteye.com/blog/2223489
BeanFactory面向接口编程测试工程,https://blog.csdn.net/liu844133828/article/details/88040252
主要介绍了简单了解Spring中BeanFactory与FactoryBean的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
本篇文章主要介绍了Spring中BeanFactory解析bean详解 ,详细的介绍了使用BeanFactory对bean进行解析的实例,有兴趣的可以了解一下。
主要为大家详细介绍了使用BeanFactory实现创建对象,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
Spring的IoC容器之BeanFactory[定义].pdf
BeanFactory是用于访问Spring Bean容器的根接口,是一个单纯的Bean工厂,也就是常说的IOC容器的顶层定义,各种IOC容器是在其基础上为了满
官方版本,亲测可用
官方版本,亲测可用