一般出现这个问题要么是因为你在某个controller中用Autowired注解的是一个实现类而不是一个接口,因为JDK动态代理只能针对接口,所以你要么把AutoWired中的东西改成接口,要么在你的配置文件中,找到:
<tx:annotation-driven transaction-manager="transactionManager"/>
在它中间加入 proxy-target-class="true"
最后就可以了。
还有一种情况是在application.xml跟spring-mvc.xml中都配置了<context:compont-scan>,把application中的删掉即可。
我就是因为在application.xml中有用到一个exclude,导致两个配置文件都有这个扫描的配置,从而报错了,我把两个整合然后写在spring-mvc.xml中就好了。