场景还原:
1、工程包结构:
2、applicationContext.xml注解配置扫描以及事务管理器配置:
3、springmvc-servlet.xml注解扫描配置文件:
4、service事务注解:
配置完毕,工程正常启动,异常正常抛出,但是事务依然不能回滚。百度各种事务配置,尝试各种事务配置,还是没有效果。然后看到这个文章,http://icanfly.iteye.com/blog/778401 这里指出,由于spring公共配置文件跟applicationContext.xml对容器的扫描可能会造成重复扫描,以至于事务失效。
我的工程中applicationContext.xml中的扫描路径为cn.ffcs,springmvc-servlet.xml中扫描路径也为cn.ffcs。那会不会是这两个重复性造成冲突?
因此我便将springmvc-servlet.xml中扫描路径改为具体某个包下,(因为我springmvc的配置文件不扫描controoler以及service,只扫描配置文件)如下:
此时,如果再抛出异常,事务正常回滚。