(1)Core Container:核心容器
1)Core模块:主要包含Spring框架基本的核心工具类
2)Beans模块:包含访问配置文件、创建和管理bean以及进行Ioc/DI操作相关的所有类
3)Context模块:构建于Core和Beans模块基础之上,提供了一种类似于JNDI注册器的框架式的对象访问方法
4)Expression Languaga模块:提供了一个强大的表达式语言用于在运行时查询和操纵对象
(2)Data Access/Integration 数据存取/集成
1)JDBC模块:提供了一个JDBC抽象层,包含了Spring对JDBC数据访问进行封装的所有类
2)ORM模块:为流行的对象-关系映射API,提供了一个交互层
3)OXM模块:提供了一个对Object/XML映射实现的抽象层
4)JMS(Java Message Service)模块:包含了一些制造和消费消息的特性
5)Transaction模块:支持编程和声明性的事务管理,这些事务必须实现特定的接口,并且对所有的POJO都适用
(3)Web:建立在应用程序上下文模块之上,为基于web的应用程序提供了上下文,还简化了处理多部分请求以及将请求参数绑定到域上的工作
1)web模块:提供了基础的面向web的集成特性
2)web-servlet模块:包含了spring 的mvc实现
3)web-struts模块:提供了对Struts的支持
4)web-portlet模块:提供了用于Portlet环境和web-servlet模块的mvc实现
(4)AOP模块:提供了面向切面编程的实现,将逻辑代码分开,降低它们之间的耦合性
(5)Aspects模块:提供了对AspectJ的集成支持
(6)Instrumentation模块:提供了class instrumentation支持和classloader实现
(7)Test模块:支持使用JUnit和TestNG对spring组件进行测试