在spring事務配置中 ,組態檔中只配置這個<tx:annotation-driven></tx:annotation-driven>,然后在方法上使用@Transactional注解,事務是會生效的. 但是在容器中我跟本就沒有配置DataSourceTransactionManager這個類,也就是往往會把這個bean的id設定為transactionManager的類.正常配置都是需要配置DataSourceTransactionManager,我沒配置,這個類在組態檔中是一點影子也看不到,但是這個事務真真的會回滾,使用的是mybatis,有沒有大佬解釋一下為什么?
uj5u.com熱心網友回復:
配置事務管理器有五種方法,第一種就是你說的那種很常用的配置,第二種就是目前你的組態檔這種,這種配置指定了運算式,滿足此運算式的都會添加事務管理,使用注解可以認為是更細一點的約束,因為方法的事務優先于類的事務,第三種是使用攔截器,四五都是使用代理。目前你的應該是屬于第二種,你看看有沒有類似這樣的配置 expression="execution(* com.demo.spring.dao.*.*(..))"轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/73021.html
標籤:Java EE
上一篇:大佬們,Java求助呀
下一篇:Java求助
