在线观看日产精品_成人性生交大片免费看中文网站_神马影院午夜我不卡_亚洲国产精品久久久久久

中文核心期刊咨詢網權威的中英文核心期刊目錄大全,最新2023中文核心期刊目錄查詢,英文論文期刊發表學術咨詢服務。
中文核心期刊咨詢網

計算機核心論文Spring框架的事務管理應用分析

作者: -12016-01-06閱讀:文章來源:未知

  這篇計算機核心論文發表了Spring框架的事務管理應用分析,Spring框架是由于軟件開發的復雜性而創建的。Spring使用的是基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅僅限于服務器端的開發。從簡單性、可測試性和松耦合性的角度而言,絕大部分Java應用都可以從Spring中受益。

計算機核心論文

  關鍵詞:計算機核心論文,Spring框架,軟件開發論文

  引 言

  在軟件開發中出現過各種各樣的框架,開源軟件的興起,使得各種各樣的框架紛紛出現,例如,Apache組織下就擁有諸多的框架類產品。框架就是一組協同工作的類,它們為特定類型的軟件構筑了一個可重用的設計。然而,傳統的框架使得應用程序組件過分依賴于框架中的類,這種耦合度的提高降低了組件的復用性。Spring框架的出現,使得組件之間更松散的耦合成為了可能。

  Spring框架簡介

  Spring框架是一個2003年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;控制反轉);又稱DI(Dependency Injection;依賴注入);是面向對象領域新興的編程思想;也是Spring的精髓所在。簡單地說;IoC就是指程序之間的關系由容器來控制;而不是傳統實現中由程序代碼直接操控。這也就是所謂“控制反轉”的概念所在:控制權由應用代碼轉到外部容器,控制權的轉移,也就是所謂的反轉。IoC將控制創建的職責搬進了框架中;并把它從應用代碼脫離開來。當使用Spring的IoC容器時只需指出組件需要的對象,在運行時Spring的IoC容器會根據XML配置數據提供給它。

  Spring IoC,借助于依賴注入設計模式,使得開發者不用理會對象自身的生命周期極其關系,而且能夠改善開發者對模式的使用。對于一個對象的管理不是什么困難,難就難在對整個對象群的管理。依賴注入可以讓容器管理對象,即“Don’t call me, I will call you”。這樣對象本身的生命周期以及對象之間的關系就不再讓開發者費神了。

  Spring AOP,借助于Spring實現攔截器,開發者能夠實現以聲名方式使用企業級服務,比如安全性服務、事務服務。AOP 合理的補充了OOP,借助于Spring AOP,開發者能夠高效的使用J2EE服務。

  Spring服務抽象,借助于各種J2EE API抽象,使得開發者能夠一致地使用J2EE 技術,而不管具體是使用什么J2EE API,借助于Spring服務抽象,使代碼大大減少,滿足“更少代碼,更少BUG”的軟件設計原則。

  Spring IoC+Spring AOP+Spring服務抽象,一起形成Spring,這樣一個有機體,使構建輕量級J2EE成為可能。

  Spring提供的事務管理

  Spring提供的事務管理可以分為兩類:編程式的和聲明式的。編程式的,比較靈活,但是代碼量大,存在重復的代碼比較多;聲明式的比編程式的更靈活方便。

  1、傳統使用JDBC的事務管理

  以往使用JDBC進行數據操作,使用DataSource,從數據源中得到Connection,我們知道數據源是線程安全的,而連接不是線程安全的,所以對每個請求都是從數據源中重新取出一個連接。一般的數據源由容器進行管理,包括連接池。例如TOMCAT,WEBSPHERE,WEBLOGIC等這些J2EE商業容器都提供了這個功能。

  以往的我們使用JDBC在寫代碼時,事務管理可能會是這樣:

  Connection conn = null;

  try{

  conn = DBConnectionFactory.getConnection;

  conn.setAutoCommit(false);

  //do something

  conn.commit(); //commit transcation

  }catch(Exception e){

  conn.rollback();

  }

  finally{

  try{

  conn.close();

  } catch(SQLException se){ //do 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提供的用于管理事務的基礎接口,其下有一個實現的抽象類AbstractPlatformTransactionManager,我們使用的事務管理類例如DataSourceTransactionManager等都是這個類的子類。

  我們使用編程式的事務管理流程可能如下:

  (1) 聲明數據源。

  (2) 聲明一個事務管理類,例如:DataSourceTransactionManager,HibernateTransactionManger,JTATransactionManager等

  (3) 在我們的代碼中加入事務處理代碼:

  TransactionDefinition td = new TransactionDefinition();

  TransactionStatus ts = transactionManager.getTransaction(td);

  try{

  //do sth

  transactionManager.commit(ts);

  }catch(Exception e){transactionManager.rollback(ts);}

  使用Spring提供的事務模板TransactionTemplate:

  void add()

  {

  transactionTemplate.execute( new TransactionCallback(){

  pulic Object doInTransaction(TransactionStatus ts)

  { //do sth}

  }

  }

  TransactionTemplate也是為我們省去了部分事務提交、回滾代碼;定義事務模板時,需注入事務管理對象。

  3、Spring聲明式事務處理

  Spring聲明式事務處理也主要使用了IoC,AOP思想,提供了TransactionInterceptor攔截器和常用的代理類TransactionProxyFactoryBean,可以直接對組件進行事務代理。

  使用TransactionInterceptor的步驟:

  (1)定義數據源,事務管理類

  (2)定義事務攔截器,例如:

  class="org.springframework.transaction.interceptor.TransactionInterceptor">

  com.test.UserManager.*r=PROPAGATION_REQUIRED

  (3)為組件聲明一個代理類:ProxyFactoryBean

  com.test.UserManager

  使用TransactionProxyFactoryBean:

  class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">

  PROPAGATION_REQUIRED

  PROPAGATION_REQUIRED

  PROPAGATION_REQUIRED,readOnly

  TransactionProxyFactoryBean只是為組件的事務代理,如果我們要給組件添加一些業務方面的驗證等,可以使用TransactionTemplate加攔截器方式,為組件添加多個攔截器,spring AOP中提供了三類Advice,即前增強,后增強,拋出異常時的增強,可以靈活使用。

  結束語

  Spring可以簡單的把普通的java class納入事務管理,聲明性的事務操作起來也很容易。有了Spring之后,聲明性事務不再是EJB獨有,我們不必為了獲得聲明性事務的功能而去忍受EJB帶來的種種不便。Spring還提供了惟一的事務管理抽象,它能夠在各種底層事務管理技術(如JTA或者JDBC)之上提供一個一致的編程模型。

  推薦期刊:《計算機與數字工程》雜志是中國科技核心期刊,目前已被中國期刊網,中國學術期刊(光盤版)全文收錄,成為中國學術期刊綜合評價數據庫來源期刊和科學引文數據庫(SCD)來源期刊;同時還被《中文科技期刊數據庫》全文收錄,并在"萬方數據—數字化期刊群"全文上網。

相關論文

在线观看日产精品_成人性生交大片免费看中文网站_神马影院午夜我不卡_亚洲国产精品久久久久久
午夜一区二区三视频在线观看 | 国产精品嫩草影院av蜜臀| 激情成人亚洲| 久久嫩草精品久久久久| 在线观看中文字幕不卡| 免费观看亚洲视频大全| 亚洲精品自在久久| 国产精品福利在线| 亚洲男同1069视频| 国产乱码精品| 久久在线观看视频| 一区二区三区免费观看| 国产精品美女www爽爽爽| 国产一区二区三区在线观看视频| 久久综合伊人77777尤物| 欧美日韩国产综合一区二区| 一区二区三区毛片| 国产精品女主播在线观看| 久久视频一区| 亚洲精品久久久久久下一站| 国产精品午夜在线| 久久99在线观看| 日韩午夜电影在线观看| 国产精品xxx在线观看www| 夜夜狂射影院欧美极品| 黄色综合网站| 欧美了一区在线观看| 欧美在线视频免费观看| 韩国精品久久久999| 欧美搞黄网站| 亚洲欧美日韩另类精品一区二区三区 | 欧美日韩国产亚洲一区| 亚洲视频一区| 国内精品久久久久久影视8| 麻豆国产精品777777在线| 一区二区高清视频| 国产精品v日韩精品v欧美精品网站| 欧美日韩免费在线| 国产欧美视频在线观看| 牛人盗摄一区二区三区视频| 一二美女精品欧洲| 国户精品久久久久久久久久久不卡| 国产精品高清在线观看| 欧美高清视频在线观看| 香蕉亚洲视频| 国产欧美另类| 欧美日韩国产成人高清视频| 亚洲自拍偷拍福利| 91久久精品国产91久久| 欧美成人午夜77777| 午夜精品影院在线观看| 亚洲精品久久| 国产目拍亚洲精品99久久精品 | 国产亚洲欧洲| 欧美日韩精品系列| 久久亚洲国产精品日日av夜夜| 一区二区不卡在线视频 午夜欧美不卡在| 国产精品视频xxxx| 欧美激情第4页| 校园激情久久| 亚洲伊人观看| 日韩亚洲精品视频| 亚洲激情影院| 永久免费精品影视网站| 国产美女精品一区二区三区| 亚洲激情在线观看| 亚洲五月婷婷| 亚洲最黄网站| 日韩视频免费在线| 亚洲黄色视屏| 亚洲国产欧美精品| 亚洲电影免费在线 | 欧美日韩在线视频一区二区| 免费视频亚洲| 狼狼综合久久久久综合网 | 久久久国产精品亚洲一区| 欧美激情国产高清| 欧美日韩国产在线| 欧美日一区二区在线观看| 国产精品国产三级国产普通话99| 欧美精品videossex性护士| 欧美视频一区| 欧美午夜精品久久久久久孕妇| 欧美精品一区二| 欧美无乱码久久久免费午夜一区| 欧美人在线观看| 国产欧美一区二区白浆黑人| 国产女主播视频一区二区| 国产精品久久久久久久久动漫| 欧美日韩中文字幕在线| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ入口 | 韩国精品在线观看| 国产精品久久999| 在线观看国产欧美| 亚洲精品国产欧美| 欧美一区日韩一区| 91久久精品久久国产性色也91| 亚洲色图自拍| 欧美在线视频日韩| 欧美激情精品久久久久久| 欧美日韩亚洲激情| 黑丝一区二区三区| 亚洲国产一区二区视频| 午夜一级久久| 久久最新视频| 国产欧美日本在线| 亚洲国产一成人久久精品| 欧美一区二区三区婷婷月色| 亚洲欧美另类久久久精品2019| 久久爱www.| 欧美激情视频免费观看| 欧美无砖砖区免费| 国产一区二区毛片| 亚洲精品一区二区三区在线观看| 亚洲激情小视频| 亚洲午夜激情网页| 久久天堂av综合合色| 欧美视频二区| 国产一区二区三区四区在线观看| 在线看片一区| 亚洲一区二区成人在线观看| 久久精品亚洲精品| 欧美三级免费| 亚洲第一页在线| 亚洲女爱视频在线| 欧美精品在线一区| 国内成人精品一区| 久久国产精品99国产精| 国产精品欧美久久| 国产精品成人免费| 久久黄金**| 国产精品美女视频网站| 亚洲国产欧美一区二区三区同亚洲| 亚洲影院色在线观看免费| 亚洲国产清纯| 国产喷白浆一区二区三区| 激情久久久久久久久久久久久久久久 | 欧美日韩国产精品一区二区亚洲| 国产精品国产亚洲精品看不卡15| 国产精品视频第一区| 国产精品午夜春色av| 欧美另类极品videosbest最新版本| 久久这里有精品15一区二区三区| 欧美精品国产精品| 亚洲激情网址| 麻豆精品在线视频| 亚洲日本一区二区三区| 久久综合电影| 最新日韩中文字幕| 六月婷婷久久| 一本大道久久a久久精品综合| 久久综合色综合88| 亚洲激情av在线| 久久久久久黄| 亚洲国产日韩欧美| 久久全国免费视频| 日韩视频在线观看免费| 美腿丝袜亚洲色图| 亚洲高清久久| 免费日韩av| 亚洲精品一区二区三区在线观看 | 在线欧美日韩| 免费高清在线视频一区·| 精品va天堂亚洲国产| 欧美肥婆bbw| 午夜精品一区二区三区四区| 国产精品女人网站| 国产一区二区三区最好精华液| 欧美日本成人| 黄色亚洲在线| 免费中文日韩| 亚洲国产高潮在线观看| 欧美寡妇偷汉性猛交| 欧美日韩国产在线观看| 亚洲色图综合久久| 9人人澡人人爽人人精品| 国产精品国产一区二区| 亚洲国产裸拍裸体视频在线观看乱了中文 | 欧美黑人一区二区三区| 韩国成人精品a∨在线观看| 在线亚洲高清视频| 亚洲精选国产| 亚洲精品久久久久久下一站| 欧美精品免费视频| 99国产精品视频免费观看| 欧美视频一区二区三区…| 亚洲片在线观看| 久久国产高清| 欧美一区二视频| 亚洲丰满在线| 国产精品扒开腿做爽爽爽视频 | 在线亚洲高清视频| 在线精品一区二区| 欧美色区777第一页| 国产精品成人观看视频免费| 欧美成人午夜剧场免费观看| 日韩小视频在线观看专区| 亚洲电影免费观看高清| 亚洲欧美在线视频观看| 亚洲精品美女|