Spring有可能成为所有企业应用程序的一站式服务,然而,Spring是模块化的,使您可以挑选哪些模块是适用的,而不必把在余下的也引入。以下部分给出详细介绍在Spring框架中所有可用的模块。
Spring框架提供约20个模块,可以根据应用程序的要求来使用。
核心容器:
核心容器组成的核心,Beans,上下文和表达式语言模块,其细节如下:
-
核心模块提供了框架的基本组成部分,包括IoC和依赖注入功能。
-
Bean模块提供BeanFactory是工厂模式的经典实现。
-
Context 上下文模块建立在由核心和Bean类模块提供了坚实的基础,它是访问定义和配置的任何对象的媒介。在ApplicationContext接口是上下文模块的焦点。.
-
表达式语言模块提供了在运行时查询和操作对象图的强大的表达式语言。
数据访问/集成:
数据访问/集成层包括JDBC,ORM,OXM,JMS和事务处理模块,其细节如下:
-
JDBC模块提供了不再需要冗长的JDBC编码相关了JDBC的抽象层。
-
ORM模块提供的集成层。流行的对象关系映射API,包括JPA,JDO,Hibernate和iBatis。
-
OXM模块提供了一个支持对象/ XML映射实现对JAXB,Castor,使用XMLBeans,JiBX和XStream 的抽象层。
-
Java消息服务JMS模块包含的功能为生产和消费的信息。
-
事务模块支持编程和声明式事务管理实现特殊接口类,并为所有的POJO。
Web:
在Web层包括网络,Web-Servlet,Web-Struts和网络的Portlet 组件,其细节如下:
-
Web模块提供了基本的Web开发的集成特性,例如多方文件上传功能和使用的servlet监听器的IoC容器初始化和针对Web的应用程序上下文。
-
Web-Servlet 模块包含Spring的模型 - 视图 - 控制器(MVC)实现Web应用程序。
-
Web-Struts 模块包含支持类内的Spring应用程序集成了经典的Struts Web层。
-
Web-Portlet 模块提供了MVC实现在portlet环境中使用和镜子Web的Servlet的模块的功能。
其他:
还有像AOP,切面,规范,网络和测试模块,其详细情况如下其他一些重要的模块:
-
AOP模块提供了面向方面编程实现,允许您定义方法拦截器和切入点,以干净解耦,实现的功能,应该分开的代码。
-
Aspects 模块提供与AspectJ的集成这又是一个功能强大且成熟的面向方面编程(AOP)框架。
-
Instrumentation 模块提供了一定的应用服务器中使用类工具的支持和类加载器实现。