-
Spring框架采用的是分层结构,一系列功能要素被分为20个模块
1.CoreContainer(核心容器)
-
包含Beans,Core,Context,SPEL
-
Beans: 提供了BeanFactory,Spring将管理对象称为Bean
-
Core: 提供了Spring框架的基本组成部分,包括IOC和DI功能
-
Context: 建立在Core和Beans模块的基础之上,它是访问定义和配置的任何对象的媒介
-
SPEL: Spring3.0之后新增的模块,是运行时查询和操作对象图的强大的表达式语言
-
2. Data Access/Integration(数据访问/集成)
-
包含JDBC,ORM,OXM,JMS,Transactions
-
JDBC: 提供了一个JDBC的抽象层,大幅度的减少了在开发过程中对数据库操作的编程
-
ORM: 对流行的对象关系映射API,包括JPA,JDO和Hibernate提供了集成层支持
-
Transactions: 支持对实现特殊接口以及所有POJO类的编程和声明式的事物管理
-
3.Web
-
包含WebSocket,Servlet,Web,Portlet
-
Servlet: 也称Spring-webmvc模式,包含Spring模型-视图-控制器(mvc)和REST Web Services实现的Web程序
-
Web: 提供了基本的Web开发集成特性,如: 多文件上传,使用Servlet监听器来初始化IOC容器以及Web应用上下文
-
4.其他模块
-
包含AOP,Aspects,Instrumentation,Messaging,Test
-
AOP: 提供了面向切面编程实现,允许定义方法拦截器和切入点,将代码按照功能进行分离,以降低耦合性
-
ASpects: 提供了与AspectJ的集成功能,AspectJ是一个功能强大且成熟的面向切面编程(AOP)框架
-