标签:映射覆盖

Spring MVC Mapping重复定义

发表于3年前(Apr 17, 2015 8:46:59 PM)  阅读 1485  评论 0

分类: Java

标签: annotation spring mvc mapping AbstractHandlerMethodMapping registerHandlerMethod 映射覆盖

1、背景

用过Spring MVC的都清楚一点,controller中的url mapping是不能重复的,如果重复定义了url,在Spring容器初始化时,将会报出"Ambiguous mapping found. Cannot map ***  There is already **  mapped."的错误。追寻源码,mapping的建立可以追溯到spring-webmvc.jar包AbstractHandlerMethodMapping中的registerHandlerMethod方法:

	protected void registerHandlerMethod(Object handler, Method method, T mapping) {
		HandlerMethod newHandlerMethod = createHandlerMethod(handler, method);
		HandlerMe
......