當你涉及到兩個其他業務方法一起繫結為乙個業務操作的時候,例如乙個atm取款的簡單操作:
atm機器吐錢2和更新你帳戶存款就是乙個取錢的主要操作,它就需要要求如果兩者都成功,即
一起提交,如果有一者失敗,即回滾該兩個操作,這種時候就需要事務了。
[b][size=medium]一、事務的特性:原子性、一致性、分離性、永續性。[/size][/b]
1、原子性:事務的原子性指的是,事務中包含的程式作為資料庫的邏輯工作單位,它所做的對資料修改操作要麼全部執行,要麼完全不執行。這種特性稱為原子性。
2、一致性:事務的一致性指的是在乙個事務執行之前和執行之後資料庫都必須處於一致性狀態。這種特性稱為事務的一致性。假如資料庫的狀態滿足所有的完整性約束,就說該資料庫是一致的。
3、分離性:分離性指併發的事務是相互隔離的。即乙個事務內部的操作及正在操作的資料必須封鎖起來,不被其它企圖進行修改的事務看到。
4、永續性:永續性意味著當系統或介質發生故障時,確保已提交事務的更新不能丟失。即一旦乙個事務提交,dbms保證它對資料庫中資料的改變應該是永久性的,耐得住任何系統故障。永續性通過資料庫備份和恢復來保證。
[b][size=medium]二、為什麼要用spring來管理事務呢,有什麼好處呢?[/size][/b]
1、首先當然是工作量上的減輕,比傳統要自己手工在程式寫事務要減少很多任務作,用spring只是需要簡單的配置即可,靈活性也有提高,spring可以靈活的針對業務方法取消或者增加事務,也可以靈活配置事務的隔離級別等。
2、spring事務支援對於不同的事務api支援,比如jdbc,dbcp,hibernate等,可通過簡單的配置支援jta事務。
[size=medium][b]三、如何使用spring來管理事務:[/b][/size]
1、配置事務控制器:
2、aop***實現事務,統一配置了事務:
3、為單獨乙個業務方法配置事務,並指定為propagation_requires_new的事務:
propagation_requires_new,isolation_read_committed,timeout_360,-exception
spring基本的事務配置就在這裡啦,具體配置說明後續。
spring 對事務的支援
id txmanager class org.springframework.jdbc.datasource.datasourcetransactionmanager name datasource ref c3p0datasource bean bean id c3p0datasource cla...
Spring專題(1) Spring概述
我們學習spring框架的最終目的是用它整合struts2 hibernate框架 ssh spring框架主要負責技術整合 可以整合很多技術 該框架提供ioc和aop機制,基於這些特性整合,可以降低系統元件之間的耦合度,便於系統元件的維護 擴充套件和替換。其實與spring框架的作用相同 在ssh...
1 spring入門 概述
學習方法 掌握常用的用法,深入理解,不斷實踐,反覆總結,再次深入理解與實踐 spring資源 sprng是乙個輕量級的控制反轉 loc 和物件導向切面 aop 的容器框架 輕量 大小,開銷輕量 通過loc打到松藕合 提供了面向切面變成的豐富支援,允許通過分離應用的業務邏輯與系統級服務進行內聚性的開發...