Spring
可能成为您的所有企业应用程序的一站式商店。但是,Spring
是模块化的,允许您挑选适用于您的模块,而无需引入其他模块。下面的部分提供了Spring Framework
中所有可用模块的详细信息。Spring Framework
提供了大约20个模块,可以根据应用程序要求使用。
核心容器
核心容器由 Core
、Beans
、Context
和 Expression Language
模块组成,其详细信息如下:
Core
模块提供了框架的基本部分,包括IoC
和依赖注入功能。Bean
模块提供了BeanFactory
,它是工厂模式的复杂实现。Context
模块建立在Core
和Beans
模块提供的坚实基础之上,它是访问定义和配置的任何对象的媒介。ApplicationContext
接口是Context
模块的焦点。SpEL
模块为在运行时查询和操作对象图提供了强大的表达式语言。
数据访问/集成
数据访问/集成层由 JDBC
、ORM
、OXM
、JMS
和 Transaction
模块组成,其详细信息如下:
JDBC
模块提供了一个JDBC
抽象层,消除了繁琐的JDBC
相关编码。ORM
模块为流行的对象关系映射API(包括JPA
、JDO
、Hibernate
和iBatis
)提供了集成层。OXM
模块提供了一个支持JAXB
、Castor
、XMLBeans
、JiBX
和XStream
的Object/XML
映射实现的抽象层。- Java消息服务
JMS
模块包含用于生成和消费消息的特性。 Transaction
模块支持实现特殊接口的类和所有POJO
的编程和声明性事务管理。
Web
Web
层由 Web
、Web-MVC
、Web-Socket
和 Web-Portlet
模块组成,其详细信息如下:
Web
模块提供基本的面向Web的集成功能,如多部分文件上传功能以及使用servlet监听器和面向Web的应用程序上下文初始化IoC
容器。Web-MVC
模块包含Spring用于Web应用程序的Model-View-Controller(MVC
)实现。Web-Socket
模块提供了在Web应用程序中客户端和服务器之间进行基于WebSocket的双向通信的支持。Web-Portlet
模块提供了用于在Portlet
环境中使用的MVC
实现,并反映了Web-Servlet
模块的功能。
其他
还有其他一些重要的模块,如 AOP
、Aspects
、Instrumentation
、Web
和 Test
模块,其详细信息如下:
AOP
模块提供了一种面向方面的编程实现,允许您定义方法拦截器和切入点,以清晰地解耦实现应该分离的功能的代码。Aspects
模块提供了与AspectJ
的集成,这又是一个强大而成熟的AOP
框架。Instrumentation
模块提供了类仪器支持和类装入器实现,可用于某些应用程序服务器。Messaging
模块提供了支持STOMP
作为用于应用程序的WebSocket
子协议的功能。它还支持一种注释编程模型,用于从WebSocket
客户端路由和处理STOMP
消息。Test
模块支持使用JUnit
或TestNG
框架测试Spring
组件。