内容摘要:Spring是java平台上的一个开源应用框架。它的第一个版本是由Rod Johnson写出来的。Rod 在他的Expert One-On-One Java EE Design and Development(Java企业应用设计与开发的专家一对一)一书中首次发布了这个框架。该框架也可以移植到.NET的环境下。
Spring框架——由来和发展
Spring是Java平台上的一个开源应用框架。它的第一个版本是由Rod Johnson写出来的。Rod在他的Expert One-On-One Java EE Design and Development(Java企业应用设计与开发的专家一对一)一书中首次发布了这个框架。该框架也可以移植到.NET的环境下。
Spring的框架首次在2003年6月的Apache 2.0的使用许可中发布。第一个具有里程碑意义的版本是2004年3月发布的1.0。2004年9月和2005年3月先后又有重要的版本面世。
Spring框架本身并没有强制实行任何特别的编程模式。在Java社区里,Spring作为E JB模型之外的另外一个选择甚至是替代品而广为流行。从设计上看,Spring给予了Java 程序员许多的自由度,但同时对业界常见的问题也提供了良好的文档和易于使用的方法。
Spring框架的核心功能在任何Java应用中都是适用的。在基于Java企业平台上的we b应用中,大量的拓展和改进得以形成。为此,Spring获得了广泛的欢迎,并被许多公司认可为具有战略意义的重要框架。
1、Spring框架的历史
Spring框架最开始的部分是由Rod Johnson于2000年为伦敦的金融界提供独立咨询业务时写出来的。在《Java企业应用设计与开发的专家一对一》一书中,Rod进一步拓展了他的代码,以阐述“如何让应用程序能以超出当时大众所惯于接受的易用性和稳定性与J2 EE平台上的不同组件合作”的观点。
在2001年,web应用的主流编程模式为Java Servlet API和EJB。两者都是由太阳微系统公司与其他一些开发商和利益团体提出的,并在Java业界里获得了广泛的共识。那些非Web的应用,比如用户端的或批处理的应用,也可以基于能够提供所需功能的开源或商用工具和项目。
基于最优方法并适用于各种应用类型的Spring框架的建立要归功于Rod Johnson。这些想法也在他的书中得以阐述。书发表后,基于读者的要求,源代码在开源使用协议下得以提供。
一批自愿拓展Spring框架的程序开发员组成了团队,2003年2月在Sourceforge上构建了一个项目。在Spring框架上工作了一年之后,这个团队在2004年3月发布了第一个版本(1.0)。这个版本之后,Spring框架在Java社区里变得异常流行,部分的要归结于它好于一般水准的文档功能和参考文献,特别是对于一个开源项目而言尤其如此。
但是,Spring框架在2004年也备受批评,有时它也成为热烈争论的主题。Spring的第一个版本发布时,
许多程序员和领先的设计人员把它看作是远离传统编程模式的一步;特别是对于EJB而言尤其如此。Spring框架的一个重要设计目标就是更容易地与已有的J2EE 标准和商用工具整合。在很大程度上,这个目标使得通过受争议的官方委员会控制的规范文档来定义功能变得可有可无。
Spring框架使之前并不受欢迎的技术在短时间内迅速走红,最有名的例子就是反向控制(IOC)。2004年,Spring框架的采用率非常之高;通过推出自身的AOP(面向方向的编程),Spring使AOP整体而言在Java社区里广受欢迎。
2005年,Spring因具有里程碑意义的新的版本的推出,更多功能的添加,从而得到了比2004年更高的采用率。2004年底创建的Spring论坛也对框架的推广而推波助澜。论坛对广大用户而言已经成为最重要的信息和帮助的源泉。
2005年,Spring框架的开发人员成立了自己的公司,来提供对Spring的商业支持,其中最显著的就是与BEA的合作。2005年12月,第一个Spring会议在迈阿密举行,3天的
课程吸引了300名开发人员。2006年6月在安特卫普召开的会议有400多名开发人员。
2、Spring框架的主要功能
◆基于Java Beans的配置管理,采用IOC的原理,特别是对依赖注射技术的使用。这些都用来减少各组
件间对实施细则的相互依赖性。
◆一个核心的,全局适用的bean工厂
◆一个一般抽象化的层面来管理数据库间的数据处理
◆建立在框架内的,对Java数据处理API和单独的JDBC数据源的一般性策略。因此,在数据处理支持上对Java企业版本环境的依赖性得以消除
◆和一些可持续性的框架,如Hibernate,JDO,iBATIS和db4o,的整合
◆web应用中的MVC框架,基于核心的Spring功能,支持多种产生视图的技术,包括JSP,FreeMarker,Velocity,Tiles,iText,和POI
◆大量的AOP框架以提供诸如数据处理管理的服务。同IOC的功能一样,目的是提高系统的模块
Spring 框架的七个模块java技术专家
Spring 框架是一个分层架构,由7 个定义良好的模块组成。Spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理bean 的方式,如图1 所示。
图1
Spring框架的主要功能
组成Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下:
核心容器:核心容器提供Spring 框架的基本功能。核心容器的主要组件是BeanFact ory,它是工厂模式的实现。BeanFactory 使用控制反转(IOC) 模式将应用程序的配置和依赖性规范与实际的应用程序代
码分开。
Spring 上下文:Spring 上下文是一个配置文件,向Spring 框架提供上下文信息。S pring 上下文包括企业服务,例如JNDI、EJB、、国际化、校验和调度功能。
Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了Spring 框架中。所以,可以很容易地使Spring 框架管理的任何对象支持AOP。Spri ng AOP 模块为基于Spring 的应用程序中的对象提供了事务管理服务。通过使用Spring AOP,不用依赖EJB 组件,就可以将声明性事务管理集成到应用程序中。
Spring DAO:JDBC DAO 抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO 的面向JDBC 的异常遵从通用的DAO 异常层次结构。
Spring ORM:Spring 框架插入了若干个ORM 框架,从而提供了ORM 的对象关系工具,其中包括JDO、Hibernate 和iBatis SQL Map。所有这些都遵从Spring 的通用事务和DAO 异常层次结构。
Spring Web 模块:Web 上下文模块建立在应用程序上下文模块之上,为基于Web 的应用程序提供了上下文。所以,Spring 框架支持与Jakarta Struts 的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。
Spring MVC 框架:MVC 框架是一个全功能的构建Web 应用程序的MVC 实现。通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括J SP、Velocity、Tiles、iText 和POI。
Spring 框架的功能可以用在任何J2EE 服务器中,大多数功能也适用于不受管理的环境。Spring 的核心要点是:支持不绑定到特定J2EE 服务的可重用业务和数据访问对象。毫无疑问,这样的对象可以在不同J2EE 环境(Web 或EJB)、独立应用程序、测试环境之间重用。
Spring事务管理
在学习spring事务管理时,我忍不住要问,spring为什么进行事务管理,spring怎么进行的事务管理?
首先,为什么要进行事务,接下来说说spring是怎样进行事务管理的。
1、Spring事务策略

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。