第二章 Spring框架体系结构
这章节描述了Spring框架的基础体系结构,在软件技术中这些主要组成部分称作模块。
Spring可能为你所有的企业应用提供一站式的解决方案,然而,Spring是模块化的,允许你挑选适合你除去非必要的。接下来的部分详细讲诉Spring框架中所有可用的模块。
Spring框架提供了大约20个模块可以根据应用需要来使用。
核心容器(Core Container)
核心容器组成包括Core、Beans、Context和Expression Language 模块,具体情况如下:
* Core模块提供了框架的基础部分包括IoC和依赖注入特性。
* Bean模块提供了复杂的Bean工厂实现了工厂模式。
*Context模块建立在由Core和Beans模块坚实的基础之上并且它是访问任何对象的定义和配置的中间媒介。ApplicationContext接口是Context模块的焦点。
* Expression Language模块提供了一个强大的运行时查询和操作对象图的表达式语言。
数据访问集成(Data Access Integration)
Data Access Integration层包括JDBC、ORM、OXM、JMS和Transaction(事物)模块具体情况如下:
*JDBC模块提供了JDBC层抽象除去了JDBC相关冗长编码的必要。
*ORM模块提供了流行的对象-关系映射API,包括JPA、JDO、Hibernate和iBatis
* OXM模块提供一个抽象层支持对象/XML映射实现如JAXB+、Castor、XMLBeans、JiBX和XStream。
*Java消息服务JMS模块包涵产生和处理消息的功能。
*Transaction(事物)模块支持编程式和声明式事物管理对实现特定接口的类和所有POJO对象。
Web
Web层包括Web、Web-Servlet、Web-Struts和Web-Portlet模块,具体如下:
* Web模块提供了基本的web-oriented(面向web)开发的集成功能如多文件上传和通过servlet监听器(servlet listeners)初始化IoC容器和web-oriented应用上下文。
* Web-Servlet模块包涵Spring Web应用的模型-视图-控制层(MVC)实现。
* Web-Struts模块包涵支持Spring应用集成经典的Struts Web层的类。
* Web-Portlet模块提供了的MVC实现应用在Web-Servlet模块门户(portlet)环境下。
其他(Miscellaneous)
还有其他几个重要的模块如AOP、Aspects、Instrumentation、Web和Test模块,具体如下:
* AOP模块提供了面向切面的编程实现允许你定义方法拦截器和切点,清晰的分离功能实现代码。
* Aspects模块提供对AspectJ的集成,它是一个功能强大成熟的AOP框架。
* Instrumentation模块提供了类工具的支持和类加载器的实现,使用在特定的应用服务器中。
* Test模块支持pring组建的测试通过JUnit或TestNG框架。