1.总体架构
spring由大约20个模块组成。这些模块包括Core Container(核心容器)、Data Access/Integration(数据访问)、Web、AOP (Aspect Oriented Programming)、Instrumentation、Messaging、Test等等
2.Core Container
core contrainer由spring-core, spring-beans,spring-context,spring-context-support,和spring-expression (弹簧表达式语言)模块组成。
其中spring-core和spring-beans模块提供框架的基本零件,包括IOC和依赖注入特征
spring-context 上下文,Spring核心提供了大量扩展。可以找到使用Spring ApplicationContext特性时所需的全部类,JDNI所需的全部类,UI方面的用来与模板(Templating)引擎如Velocity、FreeMarker、JasperReports集成的类,以及校验Validation方面的相关类。
spring-expression模块提供了一种功能强大的表达式语言,用于在运行时查询和操作对象图
3.AOP、Aspects
AOP面向切面编程思想的实现模块,允许定义方法拦截器和切入点,以便干净地解耦实现应该分离的功能的代码,例如事物的处理,动态日志等等
4.Data
spring 数据模块,包括事物的处理,JDBC数据访问的封装等等
5.web模块
spring web 相关的组件,包括springMVC ,websocket等等
6.Test
spring 测试框架,继承JUnit4框架