spring框架构成
spring中集成了多个模块,包含有核心容器、数据访问、web、AOP等模块
核心容器包含有Spring Core、Spring Beans、Spring Context和EL模块
Spring Core
spring的核心,提供Spring框架的基本功能。主要组件是BeanFactory,工厂模式的实现,使用IOC模式将应用程序的配置和依赖性规范与实际的应用程序代码分开
Spring Beans
所有应用都要用到,包含了访问配置文件、创建和管理bean的一些相关类,以及进行IOC/DI操作相关的所有类
Spring Context
Spring Context是Spring上下文,基于Core和Beans模块之上,提供了一种类似于JNDI注册器的框架式的对象访问方法,继承了Beans的特性,扩展了BeanFactory,添加了对国际化、事件传播、资源加载和对Context的透明创建的支持,实际上是一个配置文件,由Spring框架提供上下文信息,ApplicationContext接口是Context模块的关键
Data Access/Integration层包含JDBC、ORM、OXM、JMS和Transaction模块
Spring JDBC
提供了一个JDBC抽象层
Spring ORM
Spring框架插入了若干个ORM框架,从而提供了ORM的对象关系工具,包括JDO、Hibernate和iBatis。都遵从Spring的通用事务和DAO异常层次结构
Spring OXM
提供了一个对Object/XML映射实现的抽象层,Object/XML映射实现包括JAXB、Castor、JiBX和XStream
Spring JMS
包含了一些生产和消费消息的特性
Transaction
支持编程和声明性的事务管理
Web模块为基于Web的应用程序提供了上下文,简化了处理大部分请求以及将请求参数绑定到域对象的工作,包含了Web、Web-Servlet、Web-Struts和Web-Porlet模块
Spring Web
提供了基础的面向Web的集成特性
Web-Servlet
包含了spring的MVC实现
MVC框架是一个全功能构建Web应用程序的MVC实现。通过策略接口,MVC框架变成为高度可配置的,MVC容纳了大量视图技术,其中包括JSP、Velocity、Tiles、iText和POI。
Web-Struts
提供了对Struts的支持,使得类在Spring应用中能够与一个典型的Struts Web层集成在一起,在spring3.0中被弃用
Web-Porlet
提供了用于Portlet环境和Web-Servlet模块的MVC实现
AOP模块提供了一个符合AOP标准的面向切面编程的实现,通过配置管理特性,AOP模块直接将面向切面的编程功能集成到了Spring框架中。可以很容易的使Spring框架管理的任何对象支持AOP。如事务管理
Aspects
提供了对AspectJ的集成支持
Instrumentation
提供了class Instrumentation支持和classloader实现,使得可以在特定的应用服务器上使用