Spring的模块
核心容器层(Core Container)
Beans:基于工厂模式实现对象的创建。通过Xml配置文件实现了声明式的对象管理。
Core:核心功能实现,包括控制反转和依赖注入。
Context:继承自Beans模块,并添加国际化、事件传播、资源加载和透明地创建上下文等功能。提供了一些J2EE功能,比如EJMX和远程调用等功能。ApplicationContext接口是Spring-Context操作Bean的入口。提供了集成第三方库,如缓存、邮件、调度和模板引
SpEL(表达式语音):提供了丰富的表达式语音支持,用于在运行过程中查询和操作对象实例。
数据访问层(Data Access/Intergration)
JDBC:基于Java Data Base Connectivity抽象层实现了不同数据库间随意切换
ORM:提供了Object Relation Mapping对象关系映射API的集成,包括JPA和Hibernate等
OXM:对Object XML Mapping实现的支持
JMS:Java Message Service,实现对消息队列的支持,包括消息的生成和消费功能
事务处理(transactions):
编程式事务,需要应用程序调用相应的beginTransaction、commit、rollback等方法实现事务
声明式事务,只需通过注解或配置即可实现事务管理,事务管理工作由spring自动处理
Web应用层(Web Access)
Web:基于Servlet监听器初始化IOC容器
Web-MVC:模型视图控制,MVC框架使得数据模型和视图分离
Web-Socket:实现在Web应用程序中服务端和客户端实时双向通信,尤其实时消息推送
Web-Portlet:
AOP
允许应用程序通过定义方法拦截器和切入点来实现系统功能和业务功能间解耦
Aspects
提供Spring与AspectJ的集成
Instrumentation
类加载器的实现
Messaging
STOMP简单文本定向消息协议提供了支持,通过注解方式来选择和处理来自WeeSocket客户端的STOMP消息
Test
JUnit测试框架
Spring的注解
注解将应用程序中Bean的定义与Bean之间复杂的依赖关系的配置从XML配置中解救出来