HandlerMapping的优先级规定遵循Spring框架内一贯的Ordered接口所规定的语义。Spring MVC中可用的HandlerMapping实现全都实现了Ordered接口。假设我们优先使用SimpleUrl- HandlerMapping进行Handler的映射管理,其次使用BeanNameUrlHandlerMapping,那么就可以在DispatcherServlet特定的WebApplicationContext中增加如代码清单24-3所示的配置内容。
代码清单 HandlerMapping指定优先级配置代码示例
<bean id="handlerMapping" class="org. springframework.Web.servlet.handler.? SimpleUrlHandlerMapping"> <property name="order" value="1"/> <property name="mappings"> <value> ... </value> </property> </bean> <bean id="defaultHandlerMapping" ? class="org.springframework.Web.servlet. handler.BeanNameUrlHandlerMapping"> </bean>
如果不为HandlerMapping明确指定order,那么默认值为Integer.MAX_VALUE,对应最低优先级。所以,拥有order值为1的SimpleUrlHandlerMapping较之BeanNameUrlHandlerMapping优先被调用。