Spring事務為業務邏輯進行事務管理,保證業務邏輯上數據的原子性。
事務得根據項目性質來細分:事務可以設置到三個層面(dao層、service層和web層)。
第一:web層事務,這一般是針對那些安全性要求較高的系統來說的。例如電子商務網站。粒度小,一般系統用不着這么細。
第二:service層事務,這是一常見的事務划分, 將事務設置在業務邏輯上,只要業務邏輯出錯或異常就事務回滾。粒度較小,一般推薦這種方式。
第三:數據持久層數據務,也就是常說的數據庫事務。這種事務在安全性方面要求低。就是給一個簡單的增刪改之類的操作增加事務操作。粒度大
給Service層配置事務,因為一個Service層方法操作可以關聯到多個DAO的操作。在Service層執行這些Dao操作,多DAO操作有失敗全部回滾,成功則全部提交。
事務分為業務事務和系統事務,業務事務也就是業務邏輯上操作的一致性,系統事務自然就是指真正的數據庫事務,
Spring配置事務的是為了什么進行管理,當然是為業務邏輯進行事務管理,保證業務邏輯上數據的原子性;
Dao層是什么,數據訪問層,是不應該包含業務邏輯的,這就是和Service層的不同;
Service層就是業務邏輯層,事務的管理就是為Service層上的保證。
---------------------------------------------------------------------------------
Blog:http://www.cnblogs.com/linjiqin/
Hadoop交流群(250363249)、Java+Oracle交流群(158560018)
題外話:
本人來自鐵觀音的發源地——泉州安溪,有需要正宗安溪鐵觀音的友友歡迎Q我:416501600。