Spring框架结构

1.IoC

Spring核心模块实现了IoC的功能,它将类与类之间的依赖从代码中脱离出来,用配置的方式进行依赖关系描述,由IoC容器负责依赖之间的创建,拼接,管理等操作。BeanFactory接口是Spring框架的核心接口,它实现了容器的许多核心功能。
Context模块构建于核心模块之上,扩展了BeanFactory的功能,ApplicationContext是Context模块的核心接口。
表达式语言模块是统一表达式语言的一个扩展,该表达式语言用于查询和管理运行期对象,支持设置/获取对象特征,调用对象方法,操作数组,集合等。此外,该模块还提供了逻辑表达式运算,变量定义等功能,可以方便的通过表达式串和Spring IoC进行操交互。

2.AOP

AOP(面向切面编程)模块里,Spring提供了AOP Alliance规范的实现,还整合了AspectJ这种AOP语言的框架。在Spring中实现AOP有众多选择,Java5.0中引入了java.lang.instrument,允许在JVM启动时启动时,启用一个代理类,通过该代理类在运行期修改类的字节码,改变类的一个功能,从而实现AOP功能。

3.数据访问和集成

数据的表现有多种形式(xml,表,消息等),同时每种数据形式有不同的数据访问技术。
首先,Spring会站在DAO的抽象层面,建立一套面向DAO的统一异常体系,同时将数据访问的检查型异常转换为非检查型异常,为整合持久框架提供基础。
其次,Spring通过模板化技术对各种数据访问技术进行了薄层封装,隐藏了模式化的代码,使数据访问的程序得到了简化。这样,Spring就建立了了和数据形式及访问技术无关的统一的DAO层,借助AOP技术,Spring提供了声明式事务的功能。

4.Web及远程操作

该模块是建立在Application Context模块之上,提供了Web应用的各种工具类,如通过Listener或Servlet初始化Spring容器,将Spring容器注册到Web容器中。该模块还提供了多项面向Web的功能,如FreeMarker,XLST的支持等。
此外,Spring可以整合Struts,WebWork等MVC框架。

5.Web及远程访问

在Spring中有一个完整的类似于Struts的MVC框架,是SpringMVC。

6.WebSocket

WebSocket提供了一个在Web应用中高效,双向的通信。它需要考虑到客户端和服务器之间的高频和低时延消息交换。
此外,Spring在远程访问及Web Service上能与很多著名框架进行整合。
纯属摘抄

你可能感兴趣的:(Spring框架结构)