spring request映射和url映射有什么区别?
问题内容:
在调试模式下阅读我的spring boot应用程序的日志后,我偶然发现了这个问题。
在启动时,While的春天RequestMappingHandlerMapping
是“在应用程序上下文中查找请求映射”,并找到在我的控制器上定义的resquest映射。后来出现的BeanNameUrlHandlerMapping
是“在应用程序上下文中查找URL映射”,并且无法为我的上下文中定义的每个bean找到一个(未标识URL路径)
我的问题是,请求映射和url映射之间的区别是什么,有人可以链接文档以阅读所需内容BeanNameUrlHandlerMapping
吗?
问题答案:
RequestMappingHandlerMapping
根据文档,RequestMappingHandlerMapping:
根据@Controller类中的类型和方法级别的@RequestMapping批注创建RequestMappingInfo实例。
一个RequestMappingInfo可以通过构造函数实例:
public RequestMappingInfo(String name,
PatternsRequestCondition patterns,
RequestMethodsRequestCondition methods,
ParamsRequestCondition params,
HeadersRequestCondition headers,
ConsumesRequestCondition consumes,
ProducesRequestCondition produces,
RequestCondition<?> custom)
并表示具有一组要匹配的条件的请求。
BeanNameUrlHandlerMapping
HandlerMapping接口的实现,该接口从URL映射到名称以斜杠(“ /”)开头的bean,
作为AbstractDetectingUrlHandlerMapping为:
通过内省应用程序上下文中所有已定义的Bean来检测处理程序Bean的URL映射。