概览
Spring 是一个分层架构、由一系列的模块组成web
spring framework
Core Container
核心容器,包含了 Core、Beans、Context、Expression Language 模块。spring
Core 和 Beans 模块是框架的基础部分、提供 IOC (控制反转)和依赖注入特性,这里的基础概念是 BeanFactory。数据库
-
Core: 主要包含 Spring 框架基本的核心
工具类,Spring 的其余组件都要用到这个包里的类,Core 模块是其余组件的基本核心。
-
Beans: 包含访问配置文件、建立和管理 Bean 以及进行 IOC 操做相关的全部类。
-
Context: 构建在 Core 和 Beans 模块基础上,提供了相似 JNDI 注册期的框架式的对象访问方法。Context 继承了 Beans 的特性,为 Spring 和行提供了大量扩展,添加了国际化,事件传播,资源加载和 Context 的透明建立的支持。
ApplicationContext 接口是 Context 模块的关键。
-
Expression Language: 提供了强大的表达式语言,用于在运行时查询和操纵对象。
Data Access / Integration
包含 JDBC、ORM、JMS、OXM 和 Transaction 模块。编程
-
Jdbc: 该模块提供了一个 JDBC 抽象层,它能够消除冗长的 JDBC 编码和解析数据库厂商特有的错误码。这个模块包含了 Spring 对 JDBC 数据访问进行封装的全部类。
-
ORM: ORM 模块为流行的对象-关系映射 API ,如 JPA、Hibernate、Mybatis等,提供了一个交互层。利用 ORM 封装包,能够混合使用全部 Spring 提供的特性进行 O/R 映射。
-
Oxm: 提供了一个对 Object / XML 映射实现对抽象层。
-
-
Transaction: 支持编程性和声明性的事务管理,这些事务类必须实现特定的接口。
Web
web 上下文模块创建在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。Web 层包含了 Web 模块、Web-servlet、Web-portlet。架构
-
Web: 提供了基础的面向 Web 的集成特性,如文件上传,使用 servlet listeners 初始化 IOC 容器以及一个面向 Web 的应用上下文。
-
Web-servlet: 包含了 Spring 的 MVC实现.
-
Web-portlet: 提供了 portlet 环境和 web-servlet 模块的 MVC 实现。
AOP
提供了一个符合 AOP 联盟标准的面相切面编程的实现。直接将面向切面的编程功能集成到 Spring 的框架中。框架
-
Aspects: 提供了对 AspectJ 的集成支持。
-
Instrumentation: 提供了 class instrumentation 和 classloader 的实现。
Test
支持 JUnit 和 TestNG 对 Spring 组件进行测试。编辑器
此次必定?