`

spring mvc mybatis will not be managed by Spring

    博客分类:
  • java
 
阅读更多
项目运行时发现事务提交不完整,回滚时只能回滚一半。
系统配置

//servlet-context.xml
	<context:component-scan base-package="com.xx" >
	</context:component-scan>



//applicationContext.xml
	<context:component-scan base-package="com.xx" >
	</context:component-scan>



系统日志
12998 [http-bio-8080-exec-2] DEBUG org.mybatis.spring.SqlSessionUtils - Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@425e24b5] 
13000 [http-bio-8080-exec-2] DEBUG o.m.s.t.SpringManagedTransaction - JDBC Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@5cdbf552] will not be managed by Spring


发现spring的事务不起作用。

参阅博客文章
http://jinnianshilongnian.iteye.com/blog/1850432

发现事务范围配置面太大了,需修改配置,将spring dispatcher里只加载controller
且把base-package="com.xx“改为base-package="com.xx.**.controller"
//servlet-context.xml
	<context:component-scan base-package="com.xx.**.controller" >
		<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
		<context:include-filter type="annotation" expression="org.springframework.web.bind.annotation.ControllerAdvice"/>
	</context:component-scan>



//applicationContext.xml
	<context:component-scan base-package="com.xx" >
		<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
		<context:exclude-filter type="annotation" expression="org.springframework.web.bind.annotation.ControllerAdvice"/>
	</context:component-scan>


37427 [http-bio-8080-exec-5] DEBUG org.mybatis.spring.SqlSessionUtils - Creating a new SqlSession 
37427 [http-bio-8080-exec-5] DEBUG org.mybatis.spring.SqlSessionUtils - Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@eeffbdd] 
37427 [http-bio-8080-exec-5] DEBUG o.m.s.t.SpringManagedTransaction - JDBC Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@45415661] will be managed by Spring 
39216 [http-bio-8080-exec-5] DEBUG org.mybatis.spring.SqlSessionUtils - Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@eeffbdd] 
39216 [http-bio-8080-exec-5] DEBUG org.mybatis.spring.SqlSessionUtils - Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@eeffbdd] 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics