spring基於xml配置實現事務控制

2021-10-25 09:03:06 字數 2522 閱讀 7071

org.springframework<

/groupid>

spring-context<

/artifactid>

5.0.2

.release<

/version>

<

/dependency>

org.springframework<

/groupid>

spring-tx<

/artifactid>

5.0.2

.release<

/version>

<

/dependency>

<

/dependencies>

xml配置的重要步驟:

1、配置配置資料來源

2、配置事務管理器,引入資料來源

3、開啟spring對註解事務的支援

!-- 配置spring建立容器時要掃瞄的包--

>

"com.gzl"

>

<

/context:component-scan>

<

!-- 配置資料來源--

>

"datasource" class=

"org.springframework.jdbc.datasource.drivermanagerdatasource"

>

"driverclassname" value=

"com.mysql.jdbc.driver"

>

<

/property>

"url" value=

"jdbc:mysql://localhost:3306/eesy"

>

<

/property>

"username" value=

"root"

>

<

/property>

"password" value=

"1234"

>

<

/property>

<

/bean>

<

!-- 配置事務管理器 --

>

"transactionmanager" class=

"org.springframework.jdbc.datasource.datasourcetransactionmanager"

>

"datasource" ref=

"datasource"

>

<

/property>

<

/bean>

<

!-- 開啟spring對註解事務的支援--

>

"transactionmanager"

>

<

/tx:annotation-driven>

<

/beans>在需要新增事務的方法上新增註解。

@transactional

(propagation= propagation.required,readonly=

false

)

註解裡面可設定的屬性

isolation:用於指定事務的隔離級別。預設值是default,表示使用資料庫的預設隔離級別。

propagation:用於指定事務的傳播行為。預設值是required,表示一定會有事務,增刪改的選擇。查詢方法可以選擇supports。

read-only:用於指定事務是否唯讀。只有查詢方法才能設定為true。預設值是false,表示讀寫。

timeout:用於指定事務的超時時間,預設值是-1,表示永不超時。如果指定了數值,以秒為單位。

rollback-for:用於指定乙個異常,當產生該異常時,事務回滾,產生其他異常時,事務不回滾。沒有預設值。表示任何異常都回滾。

no-rollback-for:用於指定乙個異常,當產生該異常時,事務不回滾,產生其他異常時事務回滾。沒有預設值。表示任何異常都回滾。

基於xml配置Spring

之前用的是springboot,沒接觸過spring的xml配置,最近專案轉到普通spring,順便學習了一下基於xml的配置。首先是命名空間的定義 處為預設命名空間,它沒有空間名,用於springbean的定義 處xsi標準命名空間,用於為每個文件中的命名空間指定相應的schema樣式檔案,是w3...

Spring 基於XML配置

基於xml的配置 對於基於xml的配置,spring 1.0的配置檔案採用dtd格式,spring2.0以後採用schema格式,後者讓不同型別的配罝擁有了自己的命名空間,使得配置檔案更具擴充套件性。此外,spring基於schema 配置方案為許多領域的問題提供了簡化的配置方法,配置工作因此得到了...

Spring基於xml配置bean

基於構造方法例項化物件 class bean class name name value name color value bean class index 0 value index 1 value bean 基於靜態工廠例項化物件 靜態工廠通過靜態方法建立物件,隱藏物件建立的細節 public ...