Spring框架的事務管理應用分析 1

2021-08-30 06:54:59 字數 2159 閱讀 3257

摘自:

引 言

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

spring框架簡介

spring框架是乙個2023年2月才出現的開源專案,該開源專案起源自rod johnson在2023年末出版的《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; trycatch(exception e) finally catch(sqlexception se)  //close resultset,preparedstatement,connection  //notice:maybe ocurr exception when u close rs,pstmt,conn } 

按照以往的思路來寫**,**量比較長,而且容易疏忽,忘掉一些try/catch,引發一些異常無法catch,雖然有時候我們會寫dbtool類,來關閉這些資源,並且保證在關閉這些資源時,不向外拋異常,但是這樣做會導致額外的麻煩。

2、spring提供的程式設計式的事務處理

spring提供了幾個關於事務處理的類:

transactiondefinition //事務屬性定義

transcationstatus //代表了當前的事務,可以提交,回滾。

Spring框架的事務管理應用分析

本文介紹spring框架,spring事務管理的應用,以及spring特性的介紹。ad spring框架簡介 spring框架是乙個2003年2月才出現的開源專案,該開源專案起源自rod johnson在2002年末出版的 expert one on one j2ee design and deve...

Spring框架的事務管理及應用

spring提供的事務管理可以分為兩類 程式設計式的和宣告式的。程式設計式的,比較靈活,但是 量大,存在重複的 比較多 而宣告式的比程式設計式的更靈活方便。本文將討論這兩種事務管理的區別。傳統的jdbc事務管理 以往使用jdbc進行資料操作時,一般採用datasource,從資料來源中得到conne...

Spring框架 Spring的事務管理

有關事務的概念可以參考 mysql事務。spring當中事務管理的api介面 spring對事務的管理的方式 基於xml形式的事務管理 xmlns xmlns xsi xmlns aop xmlns context xmlns tx xsi schemalocation spring beans 3...