核心容器
核心容器由Beans,core,Context,spEL模块组成,他们的细节如下:
- 核心模块提供了框架基本组成部分,包括Ioc和依赖注入功能。
- Bean 模块提供了BeanFactory,他是一个工厂模式的复杂实现。
- context 模块健在在由核心和bean模块提供的坚实的基础上,他是访问定义和配置的任何对象的媒介。ApplicationContext接口是上下文模块的重点
- spEl模块在运行时提供了查询和操作一个对象图的强大的表达式语言
数据访问集成
数据访问集成层包括JDBC,ORM,OCM,JMS和事务处理模块。
- JDBC模块提供了删除冗余的JDBC相关的编码的JDBC抽象层。
- ORM模块为流行的对关系映射API,包括,JPA,JDO,hibernate 和 ibatis,提供了集成层。
- OXM 模块提供了抽象层,它支持对JAXB,Castor,XMLBeans,JiBX和XStream的对象/XML映射实现。
- java消息服务JMS模块包含生产和消费的信息和功能。
- 事务模块为实现特殊接口及所有的POJO支持编程式和声明事务管理。
Web
web层是由web,web-mvc,web-socket和web-Portlet组成。
- web模块提供了基本的面向web的集成功能,例如多个文件上传的功能和使用servlet监听器和面向web应用程序的上下文来初始化Ioc容器
- web-mvc 模块包含spring的模型-视图-控制器,实现了web应用程序。
- web-socket 模块为websocket-based提供了支持,而且在web应用程序中提供了客户端和服务器端之间的两种方式。
- web-portlet模块提供了在portlet环境中实现mvc,并且反应了web-servlet模块的功能。
其他
还用一些其他的重要的模块:
- AOP 模块提供了面向切面编程,允许你定义方法拦截器和切入点对代码进行干净的解耦,他实现了应该分离的功能
- ASpects 模块提供了与AspectJ的集成,这是一个功能强大且成熟的面向切面编程(AOP)框架。
- Instrumentation 模块在一定的应用服务器中提供了类instrumentation的支持和类加载器的实现。
- Messaging模块+为STOMP提供了支持作为在应用程序中webSicket子协议的应用。也支持一个注解编程模型,他是为了选路和处理来自WebSocket客户端的Stomp信息。
- 测试模块支持对具有JUint或TestNG框架的Spring组件的测试