Transactional管理事務

2021-10-01 02:55:40 字數 1228 閱讀 4142

使用基於@transactional的spring配置

"transactionmanager"

class

="org.springframework.orm.jpa.jpatransactionmanager"

>

"datasource" ref=

"datasource"

/>

"entitymanage***ctory" ref=

"entitymanage***ctory"

/>

<

/beans:bean>

<

!-- 宣告使用註解式事務 --

>

"transactionmanager"

/>

直接在需要事務的類或者方法上使用@transactional就可以標記該類或者該方法使用事務管理資料庫操作

注意載入順序,spring-mybatis和spring-mvc載入的順序,在配置檔案中的順序如下

spring-mvc.xml檔案,不載入controller檔案

<

!-- 自動掃瞄元件,這裡要把controler下面的 controller去除,他們是在spring3-servlet.xml中配置的,如果不去除會影響事務管理的。 --

>

package

="com.sence"

>

"annotation" expression=

"org.springframework.stereotype.controller"

/>

<

/context:component-scan>

spring-mybatis.xml檔案,不載入service

<

!-- 掃瞄所有的controller 但是不掃瞄service--

>

package

="com.sence"

>

"annotation" expression=

"org.springframework.stereotype.controller"

/>

"annotation" expression=

"org.springframework.stereotype.service"

/>

<

/context:component-scan>

Transactional註解初見

之前一直使用宣告式事務,切面程式設計的配置方式讓程式設計者忘記了事務的存在,一旦離開,發現這個事務還是蠻重要的 public inte ce userservice transactional public class userserviceimpl implements userservice p...

Transactional配置詳解

1 事務的7種屬性 propagation required 支援當前事務,如果當前沒有事務,就新建乙個事務。預設配置,也是常用的選擇。propagation supports 支援當前事務,如果當前沒有事務,就以非事務方式執行。propagation mandatory 支援當前事務,如果當前沒有...

Transactional註解詳解

預設遇到throw new runtimeexception 會回滾 需要捕獲的throw new exception 不會回滾 指定回滾 transactional rollbackfor exception.class public void methodname 指定不回滾 transacti...