有人经常问我这样的一个问题Spring 框架究竟是什么框架是像Struts一样的Web框架还是像Hibernate一样的数据持久层框架答案都不是严格的说Spring是整个J2EE框架。它与其它的框架最大的不同就是,我们可以使用它的一部分也可以使用全部,例如我们可以只使用Spring Web MVC实现Web层的开发,也可以只使用Spring AOP管理事务。而且它还能与现有框架很好的结合,如对StrutsHibernate的支持。

我们先从整体上了解一下Spring框架,图1.1Spring框架的成员构成图:


Spring 框架是什么?_spring

1.1

从图1.1中看到Spring包括7个部分,下面我们一一介绍一下:

Ø  Spring Core:这一个部分是Spring的核心部分,是Spring的引擎。在核心部分有一个非常重要类——BeanFactory类。Spring通过BeanFactory来实例化Bean。在Spring中所有组件都是JavaBean,这些JavaBean实例的获得不是通过new的方式,而是通过BeanFactory读取一个XML文件获得Bean实例。我们将在下一章详细介绍BeanFactory类。

Ø  Spring Context:这一个部分提供Spring ContextSpring上下文,这是一个非常抽象的概念,我们可以将“上下文”理解成为“注册表”,它类似于Windows的“注册表”,Spring中所有的Bean都要在框架提供的XML文件中“注册”。应用程序通过ApplicationContext的对象与“注册表”打交道。

Ø  Spring Web:这一个部分提供基于Web环境的“上下文”或“注册表”对象——WebApplicationContext对象,它可以帮助我们构建Spring Web应用系统。WebApplicationContext继承了ApplicationContext。还提供与其它Web MVC 框架如StrutsWebWorkMVC框架的整合,Spring并不排除其它的MVC 框架,给用户更多选择的机会。

Ø  Spring Web MVC:这一部分提供了一个Spring自己的Web MVC 框架,Rod Johnson曾经开发过一个Web MVC 框架,Spring中的这个Web MVC 框架就是来源于他早期开发的这个Web MVC框架。SpringWeb MVC 框架要比现在流行的Web MVC 框架有很多的优势。SpringWeb MVC 框架易于测试。可以使用PDFExcel等作为视图等。关于Spring Web MVC 框架我将在以后的章节来介绍它。

Ø  Spring DAO:这一部分提供了事务的支持、DAO设计模式支持以及对JDBC的支持。

Ø  Spring ORM:这一部分提供了对现有ORM持久层框架的支持,如对HibernateJDOiBatis等框架的支持。

     

ØSpring AOP

:这一个部分提供了对AOP的支持,