下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Spring框架的事务管理应用分析摘 要 介绍了J2EE平台上Java Web开发的Spring框架的原理和特性,对其事务管理方面的应用进行了分析。关键词 Spring; J2EE; 控制反转; 事务处理引 言在软件开发中出现过各种各样的框架,开源软件的兴起,使得各种各样的框架纷纷出现,例如,Apache组织下就拥有诸多的框架类产品。框架就是一组协同工作的类,它们为特定类型的软件构筑了一个可重用的设计。然而,传统的框架使得应用程序组件过分依赖于框架中的类,这种耦合度的提高降低了组件的复用性。Spring框架的出现,使得组件之间更松散的耦合成为了可能。Spring框架简介Spring框架是一个2
2、003年2月才出现的开源项目,该开源项目起源自Rod Johnson在2002年末出版的Expert One-on-One J2EE Design and Development一书中的基础性代码。在该书中,Rod Johnson倡导J2EE实用主义的设计思想,而Spring框架正是这一思想的更全面和具体的实现。Spring框架由一个容器,一个配置和组织组件的框架,和一组内置的为事务、持久化和Web用户接口提供的服务组成。作为一种轻量级的J2EE框架,Spring提供了一种有效的方式来建立和组织J2EE应用程序。1、Spring特性IoC(Inversion of Control;控制反转);
3、又称DI(Dependency Injection;依赖注入);是面向对象领域新兴的编程思想;也是Spring的精髓所在。简单地说;IoC就是指程序之间的关系由容器来控制;而不是传统实现中由程序代码直接操控。这也就是所谓“控制反转”的概念所在:控制权由应用代码转到外部容器,控制权的转移,也就是所谓的反转。IoC将控制创建的职责搬进了框架中;并把它从应用代码脱离开来。当使用Spring的IoC容器时只需指出组件需要的对象,在运行时Spring的IoC容器会根据XML配置数据提供给它。Spring IoC,借助于依赖注入设计模式,使得开发者不用理会对象自身的生命周期极其关系,而且能够改善开发者对模
4、式的使用。对于一个对象的管理不是什么困难,难就难在对整个对象群的管理。依赖注入可以让容器管理对象,即“Dont call me, I will call you”。这样对象本身的生命周期以及对象之间的关系就不再让开发者费神了。 Spring AOP,借助于Spring实现拦截器,开发者能够实现以声名方式使用企业级服务,比如安全性服务、事务服务。AOP 合理的补充了OOP,借助于Spring AOP,开发者能够高效的使用J2EE服务。Spring服务抽象,借助于各种J2EE API抽象,使得开发者能够一致地使用J2EE 技术,而不管具体是使用什么J2EE API,借助于Spring服务抽象,使代
5、码大大减少,满足“更少代码,更少BUG”的软件设计原则。Spring IoC+Spring AOP+Spring服务抽象,一起形成Spring,这样一个有机体,使构建轻量级J2EE成为可能。Spring提供的事务管理Spring提供的事务管理可以分为两类:编程式的和声明式的。编程式的,比较灵活,但是代码量大,存在重复的代码比较多;声明式的比编程式的更灵活方便。1、传统使用JDBC的事务管理以往使用JDBC进行数据操作,使用DataSource,从数据源中得到Connection,我们知道数据源是线程安全的,而连接不是线程安全的,所以对每个请求都是从数据源中重新取出一个连接。一般的数据源由容器进
6、行管理,包括连接池。例如TOMCAT,WEBSPHERE,WEBLOGIC等这些J2EE商业容器都提供了这个功能。以往的我们使用JDBC在写代码时,事务管理可能会是这样:Connection conn = null;tryconn = DBConnectionFactory.getConnection;conn.setAutoCommit(false);/do somethingmit(); /commit transcationcatch(Exception e)conn.rollback();finallytryconn.close(); catch(SQLException se) /d
7、o sth./close ResultSet,PreparedStatement,Connection /notice:Maybe ocurr Exception when u close rs,pstmt,conn按照以往的思路来写代码,代码量比较长,而且容易疏忽,忘掉一些try/catch,引发一些异常无法catch,虽然有时候我们会写DBTool类,来关闭这些资源,并且保证在关闭这些资源时,不向外抛异常,但是这样做会导致额外的麻烦。2、Spring提供的编程式的事务处理Spring提供了几个关于事务处理的类:TransactionDefinition /事务属性定义TranscationStatus /代表了当前的事务,可以提交,回滚。 PlatformTransactionManager这个是spring提供的用于管
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国北斗系统行业发展概况及行业投资潜力预测报告
- 2025年中国锻造模具行业发展监测及投资战略研究报告
- 2025年中国印花纸吸管行业市场深度分析及投资战略研究报告
- 对苯二甲酸项目商业计划书
- 2025年玻璃艺术品收藏与销售合同3篇
- 2025年消声器筛板行业深度研究分析报告
- 2025年中国外套行业市场深度研究及投资战略规划报告
- 2024年网络广告评估行业发展监测及投资战略规划报告
- 2024年马龙县人民医院高层次卫技人才招聘笔试历年参考题库频考点附带答案
- 2024年青阳县义龙康复医院高层次卫技人才招聘笔试历年参考题库频考点附带答案
- 绵阳市高中2022级(2025届)高三第二次诊断性考试(二诊)历史试卷(含答案)
- 露天矿山课件
- 经济效益证明(模板)
- 银行卡冻结怎么写申请书
- 果树蔬菜病害:第一章 蔬菜害虫
- 借条借款合同带担保人
- 人工地震动生成程序
- 创意综艺风脱口秀活动策划PPT模板
- SSB变桨系统的基础知识
- 大五人格量表(revised)--计分及解释
- CFA考试(LevelⅠ)历年真题详解2015LevelⅠMockExamAfternoonSession
评论
0/150
提交评论