首先应该对context:include-filter和context:exclude-filter有一个了解,include是包含这个,而不是只包含,下面会有例子看看:
这是我最开始配置的MVC的配置文件,我以为是我这么配置以后,这个扫描就会只扫描Controller注解,但是不是这样的,按照我的测试
这个注解是包含了Controller,但是也应该也是对Service注解进行了扫描的,否则事务不应该不好使:
下面来看我的成功的配置文件:
在这个配置文件中仅仅是将Service剔除掉了而已,这样事务就完全起了作用,原因嘛很简单,就是因为这个配置文件会先被加载代理,但是这
个时候事务还没有被强化,所以代理的就是普通的没有事务的Service,所以事务即使出了错误,也不会好使。