Spring集成SpringMvc时事务失效

来源:互联网 发布:公众号排版 知乎 编辑:程序博客网 时间:2024/04/29 14:01

最近在做一个新项目是刚搭建的框架(springMVC+spring+hibernate),然后在调用自己接口的时候发现一个问题事务失效了,数据并没有提交到数据库中去,然后就开始查看spring中事务配置的部分我是这么配置的
这里写图片描述
找了半天没有发现配置有什么问题,然后就去网上搜索这到底是什么问题,后来找资料发现其实Spring和SpringMVC俩个容器为父子关系,Spring为父容器,而SpringMVC为子容器。也就是说application.xml中应该负责扫描除@Controller的注解如@Service,而SpringMVC的配置文件应该只负责扫描@Controller,否则会产生重复扫描导致Spring容器中配置的事务失效。
也就是说spring先扫描要添加事务的包或者类然后再由springMVC扫描的话加上的事务就会失效.
解决方法就是在扫描配置中加上过滤就是这种
这里写图片描述

这里写图片描述
在spring配置文件中用过滤器排除扫描加过@Controller的类然后springMVC配置文件中只扫描带@Controller的类排除@Service注解的类.
最后测试一下问题解决!

原创粉丝点击