Spring可能能为您提供一站式的企业应用程序。同时,Spring是模块化的,因此您可以选择适合自己的模块,而不必引入其他模块。Spring框架提供了大约20个模块,可以根据应用程序需求使用它们。
核心容器
核心容器由Core,,Bean,Context和SpEL模块组成,其详细信息如下-
- 核心模块提供了框架的基本部分,包括IOC和依赖注入特征。
- Bean的模块提供的BeanFactory,这是一个复杂的实现工厂模式。
- 上下文模块建立由核心和Bean类模块提供的固体基体上,它是访问的介质定义和配置的任何对象。ApplicationContext接口是Context模块的焦点。
- 在使用SpEL模块提供用于查询并在运行时操作对象图的强大的表达式语言。
数据访问/集成
数据访问/集成层由JDBC,ORM,OXM,JMS和Transaction模块组成,其详细信息如下-
- JDBC模块提供了一个JDBC的抽象层,消除了对相关编码乏味JDBC的需要。
- ORM模块提供的集成层为流行的对象关系映射API,包括JPA,JDO,休眠,和iBatis。
- OXM模块提供了一个抽象层,支持Object对JAXB,蓖麻,XMLBeans的,JiBX的及XStream / XML映射实现。
- JMS模块包含用于生成和使用消息的功能。
- Transaction模块支持实现特殊的接口,并为所有的POJO类方案和声明式事务管理。
Web
Web层由Web,Web-MVC,Web-Socket和Web-Portlet模块组成,其详细信息如下-
- Web 模块提供了基本的面向Web的集成功能,如多文件上传功能,并使用servlet的用户和一个面向Web的应用程序上下文IoC容器的初始化。
- 网络MVC模块包含Web应用程序的Spring的模型-视图-控制器(MVC)的实现。
- WebSocket模块提供客户端和Web应用程序服务器之间基于WebSocket的-,双向通信支持。
- Web的Portlet模块提供了MVC实现在portlet环境和镜子网络服务程序模块的功能使用。
其他
其他重要模块,如AOP,Aspects,Instrumentation,Message和Test模块,其详细信息如下-
- AOP模块提供了一个面向方面的编程实现,允许你定义方法拦截器和切入点干净地解耦代码实现的功能,要分开。
- Aspects模块提供了与AspectJ的,这又是一个强大而成熟的AOP框架集成。
- Instrumentation模块提供类工具的支持和类加载器实现在一定的应用服务器中使用。
- Message模块提供支持STOMP作为WebSocket的子协议在应用程序中使用。它还支持注释编程模型,用于路由和处理来自WebSocket客户端的STOMP消息。
- Test模块支持使用JUnit或TestNG的框架Spring组件的测试。