Spring可能是您所有企业应用程序的一站式商店。然而,Spring是模块化的,允许您挑选适合您的模块而无需导入其余模块。以下部分提供了有关SpringFramework中所有可用模块的详细信息。SpringFramework提供了大约20个模块,可以根据应用程序的需要使用。CoreContainerCoreContainer由Core、Bean、Context和ExpressionLanguage模块组成,其详细信息如下——核心模块提供了框架的基本部分,包括IOC和DependencyInjection特性。Bean模块提供了BeanFactory,它是工厂模式的复杂实现。context模块建立在core和beans模块提供的实体矩阵之上,它可以被媒体定义和配置的任何对象访问。ApplicationContext接口是Context模块的重点。SpEL模块提供了一种强大的表达式语言,用于在运行时查询和操作对象图。DataAccess/IntegrationDataAccess/Integration层由JDBC、ORM、OXM、JMS和transaction模块组成,具体内容如下-JDBC模块为JDBC提供了一个抽象层,免去了繁琐的JDBC相关编码.ORM模块为流行的对象关系映射API提供集成层,包括JPA、JDO、Hibernate和iBatis。OXM模块提供了一个抽象层,支持JAXB、Castor、XMLBeans、JiBX和XStream/XML的对象映射实现。Java消息服务JMS模块包含用于生成和使用消息的函数。事务模块支持实现特殊接口和所有POJO类方案和声明式事务管理。NetworkWeb层由Web、Web-MVC、Web-Socket和Web-Portlet模块组成,具体内容如下-network模块提供基本的面向Web的集成功能,如多种文件上传功能,并使用servlet面向Web的应用程序上下文IoC容器的侦听器和初始化。WebMVC模块包含用于Web应用程序的Spring模型-视图-控制器(MVC)的实现。WebSocket模块为客户端和Web应用程序服务器之间基于WebSocket的双向通信提供支持。WebPortlet模块提供用于Portlet环境的MVC实现,并反映Web服务程序模块的功能。还有其他各种重要的模块,如AOP、Aspects、Instrumentation、Web和Test模块,详细介绍如下——AOP模块提供了面向切面的编程实现,允许你定义方法拦截器和切入点就是把代码实现的功能干净利落地解耦,分离出来。aspect模块提供与AspectJ的集成,AspectJ是另一个强大而成熟的AOP框架。instrumentation模块提供类工具支持和类加载器实现,以供在某些应用程序服务器中使用。消息传递模块支持STOMP作为WebSocket的子协议用于应用程序。它还支持带注释的编程模型,用于路由和处理来自WebSocket客户端的STOMP消息。测试模块支持使用JUnit或TestNG测试框架Spring组件。
