專案使用spring+springmvc+mybatis,配置完之後發現事務沒起作用,搗鼓了幾乎乙個白天。
最後的解決方案是,springmvc和spring是兩個配置檔案,修改spring-mvc.xml的掃瞄路徑,把service排除,順便把spring.xml的掃瞄路徑裡control排除。因為重複掃瞄會導致spring事務失效。
做如下配置:
spring-mvc.xml
<spring-mvc.xmlcontext:component-scan
base-package
="com.eifini.cms"
>
<
context:include-filter
type
="annotation"
expression
="org.springframework.stereotype.controller"
/>
<
context:exclude-filter
type
="annotation"
expression
="org.springframework.stereotype.service"
/>
context:component-scan
>
spring.xml
<spring.xmlcontext:component-scan
base-package
="com.eifini.cms"
>
<
context:exclude-filter
type
="annotation"
expression
="org.springframework.stereotype.controller"
/>
context:component-scan
>
exp 事務配置無效
配置如下 id txadvice transaction manager txmanager name get read only true name query read only true name tx attributes tx advice id dbservice expression ...
Spring無效的事務傳播行為
insertrole方法上的propagation propagation.requires new表示不管當前上下文環境有沒有事務,都重新開啟乙個新的事務,但實際上是不生效的。原因如下 spring的事務管理是在通過動態 類進入invoke方法裡面的,然後判斷是否需要攔截方法,需要的時候才根據註解...
spring 事務配置
自己寫的乙個關於事務的配置例子,很簡單 主要是spring的事務可以借助於aop直接環繞在target屬性所對應操作的周圍。無須為事務寫多餘的 即輕便又減少了耦合。配置檔案部分 bean.xml 由於是簡單的例子所以就不寫那麼規範了 class部分 package com.f9inux.test i...