Spring 的产生,主要是为了帮助用户简化开发流程,提高代码生产效率。利用合理的配置文件,可实现程序的控制。同时,为了方便开发者编写,又提供了方便的事务处理能力以及第三方框架整合能力。Spring 的整体架构如图 1 所示。
图 1 Spring 整体架构
核心容器
核心容器(Core Container)包括 Beans 模块、Core 模块、Context 模块和 Expression Language 模块。
Beans模块
提供框架的基础部分,主要用于实现控制反转(依赖注入)功能。其中,Bean Factory 是容器的核心部分,其本质是工厂设计模式实现,提倡面向接口编程,对象间的关系由框架通过配置关系进行管理,所有的依赖都由 Bean Factory 来维护。
Core模块
封装了框架依赖的最底层部分,包括资源访问、类型转换和其他的常用工具类。
Context模块
以 Core 和 Bean 模块为基础,集成 Beans 模块功能并添加资源绑定、数据验证、国际化、Java EE 支持、容器生命周期等,核心接口是 ApplicationContext。
Expression Language(EL)模块
表达式语言支持