赞
踩
这里主要简单说一下Spring Framework的几个核心组件的总体情况。为了比较直观,这里使用了ClassPathXmlApplicationContext的类图来进行说明。它基本上包含了 IoC 体系中大部分的核心类和接口。类图如下图所示:
Resource相关组件基本都在org.springframework.core.io包下,包括Resource和ResourceLoader。
Resource组件的类图如下:
它是对资源的抽象。Resource每一个实现类都代表了一种资源的访问策略,如 ClassPathResource、RLResource、FileSystemResource 等。
ResourceLoader主要是为了加载上面的Resource资源,类图如下:
BeanFactory,在org.springframework.beans.factory报下,是一个非常纯粹的 bean 容器,它是 IoC 必备的数据结构,其中 BeanDefinition 是它的基本结构。BeanFactory 内部维护着一个BeanDefinition map ,并可根据 BeanDefinition 的描述进行 bean 的创建和管理。
BeanFactory 有三个直接子类 ListableBeanFactory、HierarchicalBeanFactory 和 AutowireCapableBeanFactory 。DefaultListableBeanFactory 为最终默认实现,它实现了所有接口。
BeanDefinition ,主要是用来描述 Spring Framework中的 Bean 对象。主要类图如下:
BeanDefinitionReader 的作用是读取 Spring 的配置文件的内容,并将其转换成 Ioc 容器内部的数据结构 :BeanDefinition 。它的主要类图如下:
ApplicationContext,叫做应用上下文,与我们应用息息相关。它继承 BeanFactory ,所以它是 BeanFactory 的扩展升级版。ApplicationContext虽然继承BeanFactory ,但是它的结构与BeanFactory却大大不同。其主要区别如下:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。