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>。
相关推荐
4. **Spring DAO**:Spring为JDBC操作提供了异常层次结构,简化了数据库异常处理,减少了需要编写的异常代码。同时,它与不同的数据库供应商兼容。 5. **Spring ORM**:ORM模块支持与各种ORM框架(如Hibernate、...
例如,Spring框架就采用了工厂模式(通过BeanFactory)和策略模式(通过AOP配置切面)等设计模式,同时其MVC架构体现了分层体系结构的思想。理解并熟练运用模式、框架和体系结构,可以使Java开发变得更加高效、规范...
1. 易于理解:UML图将复杂的代码结构转化为直观的图形,使开发者更容易理解Spring的架构和设计模式。 2. 系统性分析:通过查看整个框架的UML模型,可以全面了解Spring的设计思路和模块划分。 3. 快速定位:在大型...
下面将详细解释Spring的主要结构和模块。 **1. 核心容器** 核心容器由Core、Beans、Context、EL模块组成。 - **Core模块**:这是Spring框架的基础,包含对资源访问、类型转换和工具类的支持。它提供了一个统一的...
- **图(Diagram)**:UML定义了一系列的图,用于描述系统的各个方面,如用例图、类图、对象图、包图、组合结构图、状态图和活动图等。 #### 四、UML视图与图详解 - **用户视图**:描述系统的功能需求,通常使用用例...
"六大类系统架构图及其简介" 在这篇文章中,我们将讨论六大类系统架构图及其简介。这些架构图都是业界公认的架构模式,广泛应用于软件开发和系统设计中。 1. Spring 架构图 Spring 是一个开源框架,是为了解决...
* 核心容器:提供 Spring 框架的基本功能,包括 BeanFactory,使用控制反转模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。 * Spring 上下文:提供企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和...
* Spring DAO:提供了有意义的异常层次结构,可以用该结构来管理异常处理和不同数据库供应商抛出的错误消息。 * Spring ORM:提供了对象关系工具,包括 JDO、Hibernate 和 iBatis SQL Map。 iBatis 框架架构图 ...
ListableBeanFactory允许列举所有的Bean,HierarchicalBeanFactory支持Bean的层级结构,而AutowireCapableBeanFactory则处理Bean的自动装配规则。 在实际实现中,DefaultListableBeanFactory是最常用的BeanFactory...
- **核心容器(Core Container):** 包括BeanFactory和ApplicationContext等接口,是Spring最核心的部分。 - **面向切面编程(AOP and Instrumentation):** 提供了一种将横切关注点分离出来的编程模型。 - **消息...
* Spring DAO:提供了有意义的异常层次结构,可以用于管理异常处理和不同数据库供应商抛出的错误消息。 * Spring ORM:提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQLMap。 iBATIS 架构图: ...
1. **核心容器**:这是Spring的基础,主要包括BeanFactory,它实现了工厂模式,通过控制反转(IOC)将应用程序的配置和依赖关系从实际代码中解耦。 2. **Spring上下文**:这是一个配置文件,为Spring框架提供上下文...
它包括一系列图表,如类图、序列图和协作图,帮助开发者清晰地理解系统的结构和行为。在Spring框架中,类图和序列图尤其重要,因为它们揭示了Spring如何组织组件和管理依赖关系。 首先,类图展示了Spring中的接口和...
- **核心容器**:包含BeanFactory和ApplicationContext两个主要模块,提供了IoC(控制反转)功能。 - **数据访问/集成**:包括JDBC抽象层、ORM框架支持、事务管理和持久化层支持等功能。 - **Web**:Spring MVC模块...
### Java各种系统框架图简介 #### 一、Spring框架图详解 **Spring框架**是一个开源框架,旨在解决企业级应用程序开发中的复杂性问题。它的主要优势之一是采用分层架构,这种架构允许开发者选择需要使用的组件,...
- HandlerMethod是一个封装了Controller方法的对象,包含了bean、beanFactory、beanType、method等信息。 - 在HandlerMethod中,还定义了操作方法,如operation1、operation2、operation3,这些方法分别对应不同的...