Spring总结
Framework Modules

Spring设计理念
图中可以看到核心组件有Beans,Core,Context,Spel,如果说从中选举一个核心的话那么一定是Beans了.
Bean在Spring中的作用就像Object对OOP的意义一样,没有对象就没有面向对象编程,在Spring中没有Bean也就没有了Spring存在的意义。为什么Bean在Spring中如此重要这个是由Spring框架设计目标决定的。Spring为什么如此流行?我们为什么使用Spring?你会发现Spring解决了一个非常关键的问题,它可以让你把对象之间的依赖关系转而用配置文件来管理,也就是它的依赖注入机制。而这个注入关系在一个IOC的容器中管理。那么IOC容器又是什么?就是被Bean包裹 的对象。Spring正是通过把对象包裹在Bean中从而达到管理这些对象以及对这些对象做一系列的额外操作的目的。
核心组件如何协同工作
前面说过Beans是Spring的核心,那么Context和Core又有什么作用呢?如果把Beans必做一场演出的演员,那么Context就是这场演出的舞台背景,而Core就是演出使用的道具,只有他们组合起来才能具备演出的基本条件。
前面说过Beans就是包装过的对象,而对象一定有数据,而如何给这些数据提供生存环境就是Context要解决的问题,对Context来说它要发现每个Bean之间的关系并为他们之间建立维护这种关系。所以Context就是一个Bean的关系集合,这个关系集合又叫做IOC容器,一旦建立起这个IOC容器,你的Spring就可以工作了。Core又有什么作用呢?其实Core就是发现,建立和维护每个Bean之间的关系所需要的一系列工具,从这个角度看可以吧Core理解为工具类。