使用基於@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...