第一章 Spring的整体架构

第一章 Spring的整体架构


Spring是2003年流行起来的一个开源框架,Spring 的作用降低应用的复杂性,它使用JavaBean来替代之前的EJB。从简单性,可测试性和松耦合的角度来说,任何Java应用都可以从Spring中受益。

1.1Spring 整体架构

Spring 是一个分层架构,有20多个模块,这些模块被分层了几个部分,即

(1)core container 核心容器

(2)Data Access/Integeration

(3)Web

(4)AOP


第一章 Spring的整体架构_第1张图片
图1-1 Spring 架构图

(1)core container 核心容器

包含 Beans 、Core 、Context、 El

Core:包含Spring 的核心工具类,Spring的其他组件会用到这个包里的工具。

Beans:包含配置文件,创建和管理Bean,以及和IOC和DI操作相关的所有的类。

Contex:t模块构建在Core和Bean模块基础之上,提供了对象访问方法,Context继承了Beans的特性,为Spring提供了大量的扩展。

EL :提供了表达式语言用于在运行时查询和操作对象

(2)Data Access/Integeration

Data Access/Integeration包含JDBC 、ORM 、OXM 、JMS 和 Transaction

JDBC :提供了一个JDBC抽象层,包含Spring 对JDBC数据访问进行封装的所有类。

ORM:为流行的对象-关系映射API 如Hibernate 和MyBaties 提供了一个交互层

OXM: 提供了一个对Object/XML 映射实现的抽象层

JMS: 包含一些生成消费信信息的特性  (rabbit mq, active mq)

Transaction:事务管理(数据库)

(3)Web

Web模块建立应用程序上下文模块(context)之上,为Web应用提供了上下文,Web层包含了Web、 Web-servlet 、WebStruts、Web-Porlet

Web模块:提供了基础的面向web的集成特性,例如。多文件上传,使用servlet listenners初始化IOC容器和面向web的应用上下文

这里说的其实就是在web.xml 里的一些配置,如图1-2


第一章 Spring的整体架构_第2张图片
图1-2 web.xml

Web-servlet:我们常说的spring mvc 就属于Web-servlet,spring mvc 框架模型范围内的代码和web forms 清楚的分离。spring mvc 和spring 其他特性结合起来(比如AOP,Data  )


(4)AOP 

提供了一个符合AOP联盟标准的面向切面编程的实现(aop方面的应用有日志和事物管理)

(5)Test

支持使用Junit和Test对Spring组件进行测试

你可能感兴趣的:(第一章 Spring的整体架构)