第1章 Spring框架的由来

spring之崛起

Spring是于2003年兴起的一个轻量级java开发框架,它的最初目的是为了简化Java EE的企业级应用开发。

Spring框架概述

Spring框架倡导基于POJO(Plain Old Java Object,简单Java对象)的轻量级开发理念,为了能让这些POJO构建出健壮而强大的应用,Spring框架为这些POJO提供了各种服务,进而创造了一套用POJO进行轻量级开发的环境。

Spring框架为POJO提供的各种服务共同组成了Spring的生命之树,如图所示。

组成整个Spring框架的各种服务实现被划分到了多个相互独立却又相互依赖的模块当中。

整个Spring框架构建在Core核心模块之上,它是整个框架的基础。在该模块中,Spring为我们提供了一个IoC容器(IoC Container)实现,用于帮助我们以依赖注入的方式管理对象之间的依赖关系。除此之外,Core核心模块中还包括框架内部使用的各种工具类(如果愿意,我们也可以在框架之外使用),比如Spring的基础IO工具类等, 这些基础工具类我们也会在合适的地方介绍。

沿着Spring生命之树往上左序遍历,我们将来到AOP模块。该模块提供了一个轻便但功能强大的 AOP框架,让我们可以以AOP的形式增强各POJO的能力,进而补足OOP/OOSD之缺憾。Spring的AOP 框架符合AOP Alliance规范,采用Proxy模式构建,与IoC容器相结合,可以充分显示出Spring AOP的强大威力。我们将在了解了Spring的IoC容器的基础上,详细讲述Spring AOP这一部分。

继续上行,Spring框架在Core核心模块和AOP模块的基础上,为我们提供了完备的数据访问和事务管理的抽象和集成服务。在数据访问支持方面,Spring对JDBC API的最佳实践极大地简化了该API的使用。除此之外,Spring框架为各种当前业界流行的ORM产品,比如Hibernate、iBATIS、Toplink、 JPA等提供了形式统一的集成支持。Spring框架中的事务管理抽象层是Spring AOP的最佳实践,它直接构建在Spring AOP的基础之上,为我们提供了编程式事务管理和声明式事务管理的完备支持。这些服务极大地简化了日常应用开发过程中的数据访问和事务管理工作。在学习完这两部分内容之后,相信读者将会有切身的体会。

为了简化各种Java EE服务(像JNDI、JMS以及JavaMail等)的使用,Spring框架为我们提供了针对这些Java EE服务的集成服务。

最后要提到的就是Web模块。在该模块中,Spring框架提供了一套自己的Web MVC框架,职责分明的角色划分让这套框架看起来十分地“醒目”。

Spring大观园

无论从哪一个角度看,整个Spring家族都是富有活力、积极进取的,一旦有新的开发理念或者最佳实践涌现,我们通常会第一时间在Spring家族中发现它们的身影。随着整个Spring平台的发展,我们会看到Spring大观园将愈发地花团锦簇、欣欣向荣。

更多推荐

第1章 Spring框架的由来