springMVC笔记(四)-不配置HandlerMapping-创新互联

我们再来看一看不配置任何HandlerMapping时,框架会使用什么。

创新互联建站于2013年成立,先为武江等服务建站,武江等地企业,进行企业商务咨询服务。为武江企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

接着使用上面的配置,注释掉那个HandlerMapping:

 1  2 12 
13   14     
15   17   18   19   20   21     
22   24     
25   26 27 28 29   30     
31     
32 

这次我们打一断点调试一下看看使用了什么HandlerMapping:

 

可以看到注册了两个HandlerMapping,所以:

1.访问/simpleController,正常

2.访问/user/preAddUser(通过@RequestMapping注解的)也正常,因为DefaultAnnotationHandlerMapping也可以处理注解,这个还是spring3.1之前处理注解的一个类,3.1及以后改为了RequestMappingHandlerMapping这个类,查看api可以看到这个类【已经过期】,默认情况继续使用这个类可能是为了向后兼容。

其实这是一个默认配置,位置在spring-webmvc.jar里面,如果你没有显式注册一个HandlerMapping,那么就会使用org.springframework.web.servlet.DispatcherServlet.properties这个里面默认的配置,配置如下:

org.springframework.web.servlet.HandlerMapping=org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping,
org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping

所以就会注册上面两个RequestMapping。


网站标题:springMVC笔记(四)-不配置HandlerMapping-创新互联
本文链接:http://ybzwz.com/article/hijhs.html