Spring MVC 如何在使用<mvc:annotation-driven/>情况下自定义RequestMappingHandlerMapping

根据项目需要,自定义了RequestMappingHandlerMapping,实现其中的getCustomMethodCondition方法,以实现自定义的请求路由。

此时,Controller中会出现@RequestMapping内容完全相同的多个方法。

自定义的RequestMappingHandlerMapping的子类通过注册到Spring容器

而开启了的mvc:annotation-driven/,会去注册默认的RequestMappingHandlerMapping,导致上面说得“@RequestMapping内容完全相同的多个方法”冲突,无法正常启动项目。

由于有许多必要的bean是由mvc:annotation-driven/自动注册的,不能不用。
所以希望找到在使用mvc:annotation-driven/的情况下,不去注册默认的RequestMappingHandlerMapping的方法!

2个回答

如果是ssm项目的话,我终于找到了一个解决方案,
参考 https://blog.csdn.net/lucky_ly/article/details/79505202
就是去除springmvc的xml配置,如果还使用非springmvc的xml配置(mybatis、redis等),则不适用文中的非SpringMVC上下文配置
这样,springmvc的配置就和springboot中一样使用java类来配置,我已经配置测试有效了

weixin_43969430
丿ぉ宁 回复cwz_茶仔: 请问你这个问题解决了吗,我也有这个需求,一直没找到解决方案
大约一年之前 回复
jk940438163
cwz_茶仔 看过了,没用
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐