高中信息技术教学论文 Spring框架的事务管理应用分析

高中信息技术教学论文 Spring框架的事务管理应用分析

ID:43420777

大小:27.00 KB

页数:3页

时间:2019-10-02

高中信息技术教学论文 Spring框架的事务管理应用分析_第1页
高中信息技术教学论文 Spring框架的事务管理应用分析_第2页
高中信息技术教学论文 Spring框架的事务管理应用分析_第3页
资源描述:

《高中信息技术教学论文 Spring框架的事务管理应用分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Spring框架的事务管理应用分析摘要介绍了J2EE平台上JavaWeb开发的Spring框架的原理和特性,对其事务管理方面的应用进行了分析。  关键词Spring;J2EE;控制反转;事务处理  引言  在软件开发中出现过各种各样的框架,开源软件的兴起,使得各种各样的框架纷纷出现,例如,Apache组织下就拥有诸多的框架类产品。框架就是一组协同工作的类,它们为特定类型的软件构筑了一个可重用的设计。然而,传统的框架使得应用程序组件过分依赖于框架中的类,这种耦合度的提高降低了组件的复用性。Spring框架的出现,使得组件之间更松散的耦合成为了

2、可能。  Spring框架简介  Spring框架是一个2003年2月才出现的开源项目,该开源项目起源自RodJohnson在2002年末出版的《ExpertOne-on-OneJ2EEDesignandDevelopment》一书中的基础性代码。在该书中,RodJohnson倡导J2EE实用主义的设计思想,而Spring框架正是这一思想的更全面和具体的实现。Spring框架由一个容器,一个配置和组织组件的框架,和一组内置的为事务、持久化和Web用户接口提供的服务组成。作为一种轻量级的J2EE框架,Spring提供了一种有效的方式来建立和组

3、织J2EE应用程序。  1、Spring特性  IoC(InversionofControl;控制反转);又称DI(DependencyInjection;依赖注入);是面向对象领域新兴的编程思想;也是Spring的精髓所在。简单地说;IoC就是指程序之间的关系由容器来控制;而不是传统实现中由程序代码直接操控。这也就是所谓“控制反转”的概念所在:控制权由应用代码转到外部容器,控制权的转移,也就是所谓的反转。IoC将控制创建的职责搬进了框架中;并把它从应用代码脱离开来。当使用Spring的IoC容器时只需指出组件需要的对象,在运行时Sprin

4、g的IoC容器会根据XML配置数据提供给它。  SpringIoC,借助于依赖注入设计模式,使得开发者不用理会对象自身的生命周期极其关系,而且能够改善开发者对模式的使用。对于一个对象的管理不是什么困难,难就难在对整个对象群的管理。依赖注入可以让容器管理对象,即“Don’tcallme,Iwillcallyou”。这样对象本身的生命周期以及对象之间的关系就不再让开发者费神了。  SpringAOP,借助于Spring实现拦截器,开发者能够实现以声名方式使用企业级服务,比如安全性服务、事务服务。AOP合理的补充了OOP,借助于SpringAOP

5、,开发者能够高效的使用J2EE服务。  Spring服务抽象,借助于各种J2EEAPI抽象,使得开发者能够一致地使用J2EE技术,而不管具体是使用什么J2EEAPI,借助于Spring服务抽象,使代码大大减少,满足“更少代码,更少BUG”的软件设计原则。  SpringIoC+SpringAOP+Spring服务抽象,一起形成Spring,这样一个有机体,使构建轻量级J2EE成为可能。  Spring提供的事务管理  Spring提供的事务管理可以分为两类:编程式的和声明式的。编程式的,比较灵活,但是代码量大,存在重复的代码比较多;声明式的

6、比编程式的更灵活方便。  1、传统使用JDBC的事务管理  以往使用JDBC进行数据操作,使用DataSource,从数据源中得到Connection,我们知道数据源是线程安全的,而连接不是线程安全的,所以对每个请求都是从数据源中重新取出一个连接。一般的数据源由容器进行管理,包括连接池。例如TOMCAT,WEBSPHERE,WEBLOGIC等这些J2EE商业容器都提供了这个功能。  以往的我们使用JDBC在写代码时,事务管理可能会是这样:Connectionconn=null;try{ conn=DBConnectionFactory.ge

7、tConnection; conn.setAutoCommit(false); //dosomething conn.commit();//committranscation}catch(Exceptione){ conn.rollback();}finally{ try{  conn.close(); }catch(SQLExceptionse){//dosth.} //closeResultSet,PreparedStatement,Connection //notice:MaybeocurrExceptionwhenuclosers,

8、pstmt,conn}  按照以往的思路来写代码,代码量比较长,而且容易疏忽,忘掉一些try/catch,引发一些异常无法catch,虽然有时候我们会写DBTool类,来关闭这些

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。