当我们在spring mvc中创建自定义处理程序映射时,是否会覆盖默认处理程序映射?

时间:2014-10-28 18:44:30

标签: java spring spring-mvc model-view-controller

我想知道如果我们创建自定义处理程序映射,则由spring mvc框架覆盖创建的默认处理程序映射。我有疑问,因为我在一个

中的两个项目中创建了自定义处理程序映射
  1. BeanNameHandlerMapping
  2. SimpleUrlHandlerMapping在dispatcher servlet中注入,但在另一个中没有在dispatcher servlet中注册
  3. 我正在为这两个项目使用不同版本的spring 3框架。是因为春季3的版本更改

    我没有在Spring 3.0中获得默认处理程序映射,而是在spring 3更高版本中获取

    由于

1 个答案:

答案 0 :(得分:2)

指定自定义HandlerMapping的{​​{3}}以具有最低的int值,以便首先尝试通过其他已注册的HandlerMappings。

<强>解释

在Web上下文中找出可用的HandlerMappings是DispatcherServlet初始化的一部分:

enter image description here

该方法正在发现所有已注册的HandlerMapping,并且您可以看到它正在根据其定义的顺序对它们进行排序

enter image description here

否则它将回退到默认的handlerMapping:BeanNameUrlHandlerMapping