Rumah > Java > javaTutorial > teks badan

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

不言
Lepaskan: 2018-10-10 11:37:50
ke hadapan
1993 orang telah melayarinya

 本篇文章给大家带来的内容是关于事务无法被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" />
Salin selepas log masuk

运行项目 

spring就可以管理事务了。

Atas ialah kandungan terperinci 事务无法被spring容器管理的解决方法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:cnblogs.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan