前提是匯入依賴,就不一一截圖了。
class="org.apache.commons.dbcp.basicdatasource">
name="driverclassname" value="com.mysql.jdbc.driver"/>
name="url" value="jdbc:mysql:///spring_day03"/>
name="username" value="root"/>
name="password" value="root"/>
class="com.mchange.v2.c3p0.combopooleddatasource">
name="driverclass" value="com.mysql.jdbc.driver"/>
name="jdbcurl" value="jdbc:mysql:///spring_day03"/>
name="user" value="root"/>
name="password" value="root"/>
1.1,事務:
指的是邏輯上一組操作,組成這個事務的各個執行單元,要麼一起成功,要麼一起失敗!
1.2,事務的特性:
1.3,如果不考慮隔離性,引發安全性問題:
寫問題
1.4, 如何解決安全性問題:上述物件之間的關係:平台事務管理器真正管理事務物件.根據事務定義的資訊transactiondefinition 進行事務管理,在管理事務中產生一些狀態.將狀態記錄到transactionstatus中
2.1,platformtransactionmanager介面:
該介面的常用方法
2.2,transactiondefinition:
事務的傳播行為常量(不用設定,使用預設值):解決的是業務層之間的方法呼叫
propagation_supports
propagation_mandatory
propagation_requires_new(記)
propagation_not_supported
propagation_never
propagation_nested(記)
3.1,準備工作(建立對應的包結構和類)
class
3.2,事務管理分類:
3.2.1,基於aspectj的xml方式:
3.2.1.1,工廠中的最基礎的bean:
id="transactionmanager"
class="org.springframework.jdbc.datasource.datasourcetransactionmanager">
name="datasource"
ref="datasource"/>
bean>
3.2.1.2,配置通知:
id="txadvice"
transaction-manager="transactionmanager">
name="pay"
propagation="required"/>
tx:attributes>
tx:advice>
3.2.1.3,配置切面:
advice-ref="myadvice"
pointcut="execution(* com.itheima.demo2.accountserviceimpl.pay(..))"/>
aop:config>
注意:如果是自己編寫的切面,使用標籤,如果是系統製作的,使用標籤。
3.2.2,基於aspectj的註解方式:
3.2.2.1,工廠中的最基礎的bean
和3.2.1.1中的情況是一樣的。
3.2.2.2,開啟事務的註解
transaction-manager="transactionmanager"/>
3.2.2.3,在業務層上新增乙個註解:@transactional Spring事務管理
spring是ssh中的管理員,負責管理其它框架,協調各個部分的工作。今天一起學習一下spring的事務管理。spring的事務管理分為宣告式跟程式設計式。宣告式就是在spring的配置檔案中進行相關配置 程式設計式就是用註解的方式寫到 裡。下面先說宣告式 spring配置檔案中關於事務配置總是由三...
spring事務管理
一 xml配置事務 二 註解的方式配置事務 bean id txmanaager class org.springframework.orm.hibernate3.hibernatetransactionmanager property name sessionfactory ref session...
spring 事務管理
和資料庫打交道的碼農都知道事務,事務有4大特徵,分別是原子性,一致性,隔離性,永續性。而spring 對事物提供了良好的支援,和api,通過簡單的配置,則可以減低程式設計師重複的操作。1.原子性 原子性指的是乙個事務內的所有操作要麼全部應用到資料庫,要麼取消對資料庫的操作。2.一致性 一致性和原子性...