Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring mvc SpringMVC中注释@RequestMapping的属性名、值和路径之间的差异_Spring Mvc - Fatal编程技术网

Spring mvc SpringMVC中注释@RequestMapping的属性名、值和路径之间的差异

Spring mvc SpringMVC中注释@RequestMapping的属性名、值和路径之间的差异,spring-mvc,Spring Mvc,我正在努力理解@RequestMapping中属性name、path和value之间的区别。我研究了API,但它没有清楚地说明它。我在谷歌上搜索了几个小时,但它只是部分起作用。你能告诉我细节吗?谢谢大家! 让我们看看javadoc。从路径开始: 路径映射URI(例如“/profile”) 这就是Spring根据请求的实际路径来决定是否调用该方法的路径 现在值: 此批注表示的主映射 这是path()的别名。例如,@RequestMapping(“/foo”)等同于@RequestMapping(p

我正在努力理解
@RequestMapping
中属性
name
path
value
之间的区别。我研究了API,但它没有清楚地说明它。我在谷歌上搜索了几个小时,但它只是部分起作用。你能告诉我细节吗?谢谢大家!

让我们看看javadoc。从路径开始:

路径映射URI(例如“/profile”)

这就是Spring根据请求的实际路径来决定是否调用该方法的路径

现在值:

此批注表示的主映射

这是path()的别名。例如,@RequestMapping(“/foo”)等同于@RequestMapping(path=“/foo”)

所以,很明显:值和路径是完全等价的

最后的名字是:

为此映射指定一个名称

所以这是完全不同的。它为该映射提供了一个名称。为什么名称对映射有用?您可以通过单击文档中链接到attrbibute的“请参见”类来发现这一点。HandlerMethodMappingNamingStrategy的javadoc说:

应用程序可以在静态方法MvcUriComponentsBuilder#fromMappingName[…]的帮助下按名称构建控制器方法的URL

因此,如您所见,映射的名称可用于构造URL,该URL将通过使用其映射的名称与给定的控制器方法相匹配。这使得可以通过使用名称而不是路径来更改映射的路径,而不必到处更改它

除了javadoc之外,您的第一个目的地应该是。当你想了解框架时,这通常比谷歌搜索更有效