Expression Language 模块提供了强大的表达式语言,用于在运行时查询和操纵对象。它是 JSP 2.1 规范中定义的 unifed expression language 的扩展。 该语言支持设置/获取属性的值,属性的分配,方法的调用,访问数组上下文( accessiong the context of arrays )、 容器和索引器、逻辑和算术运算符、命名变量以及从 Spring 的 IoC 容器中根据名称检索对象。 它也支持 list 投影、选择和一般的 list 聚合。
Data Access / Integration
Data Access 模块包括了: 事务、DAO、 JDBC、ORM、 XML机制。
JDBC 模块提供了一个 JDBC 抽象层,他可以消除冗长的 JDBC 编码和解析数据库厂商特有的错误代码,这个模块包括了 Spring 对 JDBC 数据访问进行封装的所有类。
ORM 模块为流行的对象-关系映射,如JPA、JDO、Hibernate、iBatis等,提供了一个交互层,利用 ORM 封装包,可以混合使用所有 Spring 提供的特性进行 O/R 映射。
OXM 模块提供了一个对 Object / XML 映射实现的抽象层,Object / XML 映射实现包括JAXB、Castor、XMLBeans、JiBX 和 XStream。
Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。 所以, Spring 框架支持与 Jakarta Struts 的集成。 Web 模块还简化了处理大部分请求以及将请求参数绑定到域对象的工作。 Web 层包含了 Web 、 Web-Servlet、 Web-Struts 和 Web-Porlet 模块,具体说明如下。
Web 模块:提供了基础的面向 Web 的集成特性。 例如,多文件上传、使用 servlet listeners 初始化 IoC 容器以及一个面向 Web 的应用上下文。 它还包含 Spring 远程支持中 Web 的相关部分。
Web- Servlet 模块 web.servlet.jar :该模块包含 Spring 的 model-view-controller ( MVC) 实现。 Spring 的 MVC 框架使得模型范围内的代码和 web forms 之间能够清楚地分离开 来,并与 Spring 框架的其他特性集成在一起。
Web-Struts 模块:该模块提供了对 Struts 的支持, 使得类在 Spring 应用中能够与一个 典型的 Struts Web 层集成在一起。 注意,该支持在 Spring 3.0 中已被弃用 。