一.体系结构
Spring是模块化的。
(1)核心容器由核心,Bean,上下文和表达式语言模块组成:
核心(Core):提供了框架的基本组成部分,包括IoC和依赖注入功能
Bean:提供BeanFactory,它是一个工厂模式的复杂实现
上下文(Context):由核心和Bean模块提供的坚实基础上,它是访问定义和配置的任何对象的媒介。ApplicationContext接口是上下文模块的重点。
表达式语言(SpEL):提供了查询和操作一个对象图的强大的表达式语言。
(2)数据访问/集成
数据访问/集成层包括JDBC,ORM,OXM,JMS和事务处理模块
JDBC:提供了删除冗余的JDBC相关编码的JDBC抽象层
ORM:为流行的对象关系映射API,包括JPA,JDO,Hibernate和iBatis,提供了集成层
Java消息服务JMS模块包含生产和消费的信息的功能
事务模块为实现特殊接口的类及所有的POJO支持编程式和声明式事务管理
(3)Web
Web层由Web,Web-MVC,Web-Socket和Web-Portlet组成
Web模块提供了基本的面向web的集成功能
Web-MVC模块包含Spring的模型-视图-控制器,实现了web应用程序
Web-Socket模块为WebSocket-based提供了支持,而且在web应用程序中提供了客户端和服务端之间通信的两种方式。