1、Spring理念剖析
Spring总共有十几个组件,但真正核心的只有三个:Core、Context和Bean。我们将从这三个组件入手来分析Spring。
Spring之中最重要的当属Bean了,Spring实际上就是面向Bean的编程,Bean对于Spring的意义就好比Object对于OOP的意义一样。那么,三个核心组件之间是如何协同工作的呢?如果把Bean比作一场演出中的演员,那么Context就是这场演出的舞台,Core就是演出的道具,至于演出的节目,就是Spring的一系列特色功能了。
我们知道Bean包裹的是Object,而Object中必然有数据,Context就是给这些数据提供生存环境,发现每个Bean之间的关系,为他们建立并维护好这种关系。这样来说,Context就是一个Bean关系的集合,这个关系集合就是我们所说的IOC容器。那么Core又有什么作用呢?Core就是发现、建立和维护每个Bean之间的关系所需的一系列工具,就是我们经常说的Util。
下面我们来看看三个核心组件的详细结构。
2、组件结构详解
Bean组件在Spring的org.springframework.beans包下,主要完成了Bean的创建、Bean的定义以及Bean的解析三件事。
SpringBean的创建时典型的工厂模式,BeanFactory为顶级接口。
BeanFactory的最终默认实现类是DefaultListableBeanFactory,他实现了所有的接口。为什么要定义怎么多层次的接口呢?实际上,里面的每个接口都有他使用的场合,它主要是为了区分在Spring内部对象的传递和转化过程中,对对象的数据访问所做的限制。这些接口共同定义了Bean的集合、Bean之间的关系和Bean的行为。
Bean的定义主