前2天整合系统的时候,碰到的问题,mybatis整合spring事务 没有生效,查看spring事务日志发现
[ 64959] DEBUG - mybatis.spring.SqlSessionUtils - Creating a new SqlSession
[ 64986] DEBUG - mybatis.spring.SqlSessionUtils - SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@735d7f] was not registered for synchronization because synchronization is not active
[ 65110] DEBUG - dbc.datasource.DataSourceUtils - Fetching JDBC Connection from DataSource
[ 65110] DEBUG - ction.SpringManagedTransaction - JDBC Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@1309697] will not be managed by Spring
说的Spring无法管理mybatis的SqlSession,晚上查了一堆资料,对这类问题的解决,大多是跟Spring初始化的顺序有关,回来仔细检查了一下,确实如此。
想要Spring 事务拦截器生效需要3个条件:
1.正确声明拦截点(serivce、manage..)
2.正确声明数据源以及事务策略
3.正确配置好mybatis与spring的整合
我的问题是把事务配置放在了 serivce 注入扫描的配置前面了,因此在初始化的时候,根本找不到事务拦截器,要拦截的Servce方法,调整顺序后问题解决
mybaits 整合 spring 事务未生效
猜你喜欢
转载自fireshark.iteye.com/blog/2191980
今日推荐
周排行