关键词:Spring,Bean,组件,BeanFactory,工厂模式
上一章:
Spring框架的设计理念与设计模式(2)-Spring的设计理念 http://javapub.iteye.com/blog/751545
下一章:
Spring框架的设计理念与设计模式(4)-Context组件 http://javapub.iteye.com/blog/751625
核心组件详解
这里将详细介绍每个组件内部类的层次关系,以及它们在运行时的时序顺序。我们在使用Spring是应该注意的地方。
Bean组件
前面已经说明了Bean组件对Spring的重要性,下面看看Bean这个组件式怎么设计的。Bean组件在Spring的 org.springframework.beans包下。这个包下的所有类主要解决了三件事:Bean的定义、Bean 的创建以及对Bean的解析。对Spring的使用者来说唯一需要关心的就是Bean的创建,其他两个由Spring在内部帮你完成了,对你来说是透明的。
SpringBean的创建时典型的工厂模式,他的顶级接口是BeanFactory,下图是这个工厂的继承层次关系:
BeanFactory有三个子类:ListableBeanFactory、HierarchicalBeanFactory和Autowire Capable Bean Factory。但是从上图中我们可以发现最终的默认实现类是DefaultListableBeanFactory,他实 现了所有的接口。那为何要定义这么多层次的接口呢?查阅这些接口的源码和说明发现,每个接口都有他使用的场合,它主要是为了区分在Spring内部在操作过程中对象的传递和转化过程中,对对象的 数据访问所做的限制。例如ListableBeanFactory接口表示这些Bean是可列表的,而HierarchicalBeanFactory表示的是这些Bean是有继承关系的,也就是每个Bean有可能有父Bean。 AutowireCapableBeanFactory接口定义Bean的自动装配规则。这四个接口共同定义了Bean的集合、Bean之间的关系、以及 Bean行为。
Bean的定义主要有BeanDefinition描述,如下图说明了这些类的层次关系:
Bean的定义就是完整的描述了在Spring的配置文件中你定义的节点中所有的信息,包括各种子节点。当Spring成功解析你定义的一个节点后,在Spring的内部他就被转化 成BeanDefinition对象。以后所有的操作都是对这个对象完成的。
Bean的解析过程非常复杂,功能被分的很细,因为这里需要被扩展的地方很多,必须保证有足够的灵活性,以应对可能的变化。Bean的解析主要就是对Spring配置文件的解析。这个解析过程主要通过 下图中的类完成:
当然还有具体对tag的解析这里并没有列出。
目录--Spring框架的设计理念与设计模式
Spring框架的设计理念与设计模式(1)-Spring的架构 http://javapub.iteye.com/blog/751539
Spring框架的设计理念与设计模式(2)-Spring的设计理念 http://javapub.iteye.com/blog/751545
Spring框架的设计理念与设计模式(3)-Bean组件 http://javapub.iteye.com/blog/751550
Spring框架的设计理念与设计模式(4)-Context组件 http://javapub.iteye.com/blog/751625
Spring框架的设计理念与设计模式(5)-Core组件 http://javapub.iteye.com/blog/751627
Spring框架的设计理念与设计模式(6)-Ioc容器及BeanFactory工厂 http://javapub.iteye.com/blog/751635
Spring框架的设计理念与设计模式(7)-Spring中AOP特性与实现 http://javapub.iteye.com/blog/751642
Spring框架的设计理念与设计模式(8)-代理模式 http://javapub.iteye.com/blog/751652
Spring框架的设计理念与设计模式(9)-策略模式 http://javapub.iteye.com/blog/751653
分享到:
相关推荐
### Spring框架的设计理念与设计模式分析 #### 一、Spring框架概述 Spring作为一个现代软件开发领域内备受推崇的框架,其强大的功能与灵活性使得它在众多框架中脱颖而出。本文旨在深入探讨Spring框架的设计理念...
### Spring框架的设计理念和设计模式分析 #### 一、Spring框架概述 Spring框架自问世以来,因其灵活性、可扩展性和强大的社区支持而迅速成为企业级Java应用开发的标准框架之一。Spring框架的核心价值在于其轻量级...
### Spring框架的设计理念与设计模式分析 #### 一、Spring框架概述 Spring作为一个现代软件开发领域内备受推崇的框架,其设计理念与设计模式一直是开发者关注的焦点。Spring框架以其轻量级、模块化和可扩展性著称...
Spring 框架的设计理念完全类似于 Java 实现 OOP 的设计理念,都是构建一个数据结构,然后根据这个数据结构设计他的生存环境,并让它在这个环境中按照一定的规律在不停的运动,在它们的不停运动中设计一系列与环境...
### Spring框架的设计理念与设计模式分析 #### 一、Spring框架概述 Spring作为一个顶级的Java开发框架,其设计理念和架构模式对于理解和应用该框架至关重要。本文将深入探讨Spring框架的核心设计理念,以及它如何...
### Spring框架的设计理念与设计模式分析 #### 一、Spring框架概述 Spring作为一个现代软件开发领域内备受推崇的框架,其设计理念与设计模式一直是开发者关注的焦点。Spring框架旨在简化企业级应用程序的开发过程...
本文将深入探讨Spring框架的设计理念和核心组件,以及它们如何协同工作。 首先,Spring的核心组件包括Core、Context和Beans。这三个组件构成了Spring的骨骼架构,为其他特性如AOP和Web提供了基础。Core组件是Spring...
### Spring框架的设计理念与核心组件解析 #### 一、Spring框架概述 Spring作为一个全面的轻量级企业级应用开发框架,其设计的核心理念是简化Java企业级应用开发过程中的复杂度。Spring通过提供一系列的核心组件和...
总结来说,Spring 框架以其灵活的设计理念、多种设计模式的运用以及对其他框架的兼容,极大地简化了企业级应用的开发,提升了开发效率,同时也降低了维护成本。Spring 的设计理念不仅影响了Java开发,也对其他编程...
### Spring框架的设计原理及设计模式分析 #### 一、Spring框架的核心组件及其作用 Spring框架作为Java企业级应用开发中最受欢迎的开源框架之一,它的设计理念和技术实现方式深受开发者喜爱。Spring框架由多个组件...
Spring框架的设计理念是将复杂的应用逻辑解耦,通过配置来管理对象之间的依赖关系,使得代码更加模块化和易于维护。这一理念体现在其核心组件的协同工作上:Core组件提供基础工具,Beans组件创建和管理Bean,Context...