源代码教育吧 关注:440贴子:3,245
  • 1回复贴,共1

SpringMVC@Controller标签重复引起的错误

只看楼主收藏回复


一楼祭天,献祭度娘


IP属地:四川1楼2016-07-07 22:58回复
    最近在开发项目的过程中SpringMVC抛了个“Ambiguous mapping found. Cannot map 'clientPoolController' bean method”异常出来,如下(只列出重要的部分,以免篇幅过长):
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping#0': Initialization of bean failed; nested exception is java.lang.IllegalStateException: Ambiguous mapping found. Cannot map 'clientPoolController' bean method
    ......
    at java.lang.Thread.run(Thread.java:745)
    Caused by: java.lang.IllegalStateException: Ambiguous mapping found. Cannot map 'clientPoolController' bean method
    根据上述异常情况,分析得出一下结论:
    1. bean重复初始化:使用@controller注解初始化一次,在applicationContext中又定义一次。
    注:我通过对项目对应配置文件查找,发现并没有重复初始化的情况。
    2. 在不同的Controller中定义的映射重复。
    注:项目中clientPoolController与clientController是继承关系,clientPoolController继承clientController。所以重点查找了报错的clientPoolController和clientController发现映射都一致,发现问题所在。
    解决方案:
    注释掉clientPoolController中的@Controller标签即可。
    运行测试成功,OK问题解决!
    具体解决详情请关注晓宇个人博客 http://www.fanfanyu.cn
    原文飞机票 http://www.fanfanyu.cn/news/staticpagefile/2351.html


    IP属地:四川2楼2016-07-07 22:59
    回复