事务不能被spring容器管理

 

最近在做一个小项目 是springmvc mybatis 的框架 每次在控制台日志会有JDBC Connection [com.mysql.jdbc.JDBC4Connection@59dfe4bc] will not be managed by Spring 输出

说明事务配置肯定存在问题,我就去翻看了一下配置文件 发现配置了注解方式的事务看了下代码 也使用了@Transactional注解  

所以我就开始思考哪里出了问题  因为之前看过spring 的一些源码和springmvc一下的一些源码  所以有点思考的方向,经过一番思考把问题定位到spring配置文件

以及springmvc配置文件

spring配置文件中的扫描的 bean 添加事务注解 后 spring 会为它添加代理 具有事务的能力,springmvc容器启动后和spring容器父子级的关系,getbean的过程是先取子容器的

bean 问题就出在这里,springmvc容器中的bean没有事务处理能力 所以我就在扫描策略上做了一些调整

springmvc配置文件中注解扫描中添加

<context:exclude-filter type=”annotation” expression=”org.springframework.stereotype.Service” />  

运行项目 

 

spring就可以管理事务了。

第一次发表博客,希望自己踩过得坑,能给大家提个醒。

 

posted on 2018-10-09 21:15 小齐和叮当猫 阅读() 评论() 编辑 收藏

版权声明:本文为xqfqq原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/xqfqq/p/9762930.html