首页  >  文章  >  Java  >  事务无法被spring容器管理的解决方法

事务无法被spring容器管理的解决方法

不言
不言转载
2018-10-10 11:37:511939浏览

 本篇文章给大家带来的内容是关于事务无法被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就可以管理事务了。

以上是事务无法被spring容器管理的解决方法的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:cnblogs.com。如有侵权,请联系admin@php.cn删除