spring请求映射和url映射有什么区别?

Kon*_*sch 6 spring spring-mvc spring-boot

在调试模式下阅读弹簧启动应用程序的日志后,我偶然发现了这个问题.

在启动时,Spring RequestMappingHandlerMapping是"在应用程序上下文中查找请求映射",并找到在我的控制器上定义的resquest映射.后来BeanNameUrlHandlerMapping是"在应用程序上下文中查找URL映射",并且无法为我的上下文中定义的每个bean找到一个(没有标识URL路径)

我的问题是,请求映射和网址映射之间有什么区别,有人可以链接文档来阅读BeanNameUrlHandlerMapping正在寻找的内容吗?

Ort*_*kni 2

请求映射处理程序映射

根据文档,RequestMappingHandlerMapping

从 @Controller 类中的类型和方法级 @RequestMapping 注释创建 RequestMappingInfo 实例。

可以使用构造函数实例化RequestMappingInfo

public RequestMappingInfo(String name,
                          PatternsRequestCondition patterns,
                          RequestMethodsRequestCondition methods,
                          ParamsRequestCondition params,
                          HeadersRequestCondition headers,
                          ConsumesRequestCondition consumes,
                          ProducesRequestCondition produces,
                          RequestCondition<?> custom)
Run Code Online (Sandbox Code Playgroud)

并表示具有一组要匹配的条件的请求。

BeanNameUrlHandlerMapping

BeanNameUrlHandlerMapping是

实现 HandlerMapping 接口,将 URL 映射到名称以斜杠(“/”)开头的 bean,

作为AbstractDetectingUrlHandlerMapping是:

通过内省应用程序上下文中所有定义的 bean 来检测处理程序 bean 的 URL 映射。