1.3 transactionstatus
1.4 知識要點
2 基於 xml 的宣告式事務控制
3 基於註解的宣告式事務控制
platformtransactionmanager 介面是 spring 的事務管理器,它裡面提供了我們常用的操作事務的方法。
注意:platformtransactionmanager 是介面型別,不同的 dao 層技術則有不同的實現類,例如:dao 層技術是jdbc 或 mybatis 時:org.springframework.jdbc.datasource.datasourcetransactionmanager
dao 層技術是hibernate時:org.springframework.orm.hibernate5.hibernatetransactionmanager
transactiondefinition 是事務的定義資訊物件,裡面有如下方法:
1. 事務隔離級別
設定隔離級別,可以解決事務併發產生的問題,如髒讀、不可重複讀和虛讀。
2. 事務傳播行為transactionstatus 介面提供的是事務具體的執行狀態,方法介紹如下。
程式設計式事務控制三大物件
spring 的宣告式事務顧名思義就是採用宣告的方式來處理事務。這裡所說的宣告,就是指在配置檔案中宣告,用在 spring 配置檔案中宣告式的處理事務來代替**式的處理事務。
宣告式事務處理的作用
注意:spring 宣告式事務控制底層就是aop。
宣告式事務控制明確事項:
①引入tx命名空間
②配置事務增強
"transactionmanager"
class
="org.springframework.jdbc.datasource.datasourcetransactionmanager"
>
name
="datasource"
ref="datasource"
>
property
>
bean
>
<
tx:adviceid=
"txadvice"
transaction-manager
="transactionmanager"
>
<
tx:attributes
>
<
tx:method
name
="*"
/>
tx:attributes
>
tx:advice
>
③配置事務 aop 織入
<
aop:config
>
<
aop:pointcutid=
"mypointcut"
expression
="execution(* com.itheima.service.impl.*.*(..))"
/>
<
aop:advisor
advice-ref
="txadvice"
pointcut-ref
="mypointcut"
>
aop:advisor
>
aop:config
>
<
tx:adviceid=
"txadvice"
transaction-manager
="transactionmanager"
>
<
tx:attributes
>
<
tx:method
name
="*"
/>
tx:attributes
>
tx:advice
>
其中,tx:method 代表切點方法的事務引數的配置,例如:
<
tx:method
name
="transfer"
isolation
="repeatable_read"
propagation
="required"
timeout
="-1"
read-only
="false"
/>
宣告式事務控制的配置要點編寫 accoutdao
@repository
("accountdao"
)public
class
accountdaoimpl
implements
accountdao
public
void
in(string inman,
double money)
}
編寫 accoutservice
@service
("accountservice"
)@transactional
public
class
accountserviceimpl
implements
accountservice
}
>
<
context:component-scan
base-package
="com.itheima"
/>
<
tx:annotation-driven
/>
①使用 @transactional 在需要進行事務控制的類或是方法上修飾,註解可用的屬性同 xml 配置方式,例如隔離級別、傳播行為等。
②註解使用在類上,那麼該類下的所有方法都使用同一套註解引數配置。
③使用在方法上,不同的方法可以採用不同的事務引數配置。
④xml配置檔案中要開啟事務的註解驅動
註解宣告式事務控制的配置要點
Spring08 宣告式事務
1 回顧事務 事務是什麼?事務的四個屬性 acid 事務併發執行可能引起的問題 事務隔離級別 transaction isolation levels spring 中的7個事務傳播行為 2 測試事務public class userserviceimpl implements userservic...
MEF 程式設計指南(四) 宣告匯入
組合部件通過 system.componentmodel.composition.importattribute 特性宣告匯入。類似於匯出,也有幾種不同的方法宣告匯入,即通過 字段 fields 屬性 properties 和構造器引數 constructor parameters 屬性匯入 pro...
10 宣告式事務
1.程式設計式事務 由程式設計師程式設計事務控制 opensessionlnview程式設計式事務 2.宣告式事務 事務控制 已經由spring寫好,程式設計師只需要宣告出哪些方法需要進行事務控制和如何進行事務控制。這裡講解的是 註解配置事務,如果想去理解xml的同學 可以看看其它的 這裡只講解註解...