Spring 模块

Spring 是一个模块化的框架,提供了(20多个模块)几乎所有企业应用所需要的底层实现。你可以自由选择你需要的模块,摒弃你不需要的。下图列出了Spring提供的所有模块。

Spring 模块_第1张图片

核心容器模块(Core Container):核心容器包括了Beans,Core,Context和SpEL四大组件。

  • Core组件提供了框架的基础部分,包括控制反转(Ioc)和依赖注入(DI).

  • Bean 组件提供了BeanFactory,它是工厂模式的实现

  • Context组件基于Core组件和Beans组件提供的功能,它是访问其他对象的中间件。ApplicationContext接口是Context模块核心。

  • SpEL组件提供了强大的表达式语言来在运行时查询和操作对象图

数据访问/集成模块(Data Access/Integration):数据访问/集成层提供了JDBC,ORM,OXM,JMS以及事务(Transaction)

  • JDBC 组件提供了JDBC抽象层,开发可以不用去关注冗长的JDBC相关代码。

  • ORM 组件提供了流行的对象-关系映射接口的集成层,包括JPA,JDO,Hibernate以及IBatis。

  • OXM组件提供了一个抽象层,支持JAXB,Castor,XMLBeans,JiBX以及XStream等的对象/XML映射实现

  • Java消息服务JMS组件包括了产生和消费消息的功能

  • 事务组件支持实现了专用接口的类以及所有POJO的编程和声明式事务管理。

Web模块: Web层由Web,Web-MVC,WebSocket和Web-Portlet组成。

  • Web组件提供了基本的面向Web的集成功能,如多部分文件上传功能和用Severlet监听器和基于Web应用程序上下文初始化的IoC容器功能。

  • Web-MVC组件包括了Spring面向web应用实现的MVC。

  • Web-Socket组件提供了基于WebSocket,在客户端和服务器之间双向通信的web应用。

  • Web-Portlet 组件提供了用于portlet环境的MVC实现以及web-servelt组件功能的镜像。

其他

  • AOP模块提供了面向切面编程的实现,允许你定义方法拦截器以及切入点来完全解耦应该分开实现的功能性代码

  • Aspects 模块提供了和AspectJ的集成,AspectJ是一个强大的,成熟的面向切面编程的框架

  • Instrumentation 模块提供了类工具支持和用于特定应用服务器的类加载器实现

  • Messaging 模块提供了对应用中使用的作为WebSocket 子协议的STOMP的支持,这个模块还支持用于路由的注释编程模型和处理从WebSocket客户端来的STOMP消息

  • Test 模块支持用Junit或者TestNG框架对Spring的组件进行测试


你可能感兴趣的:(Spring 模块)