0

In some cases I have seen two different ways to specify uri in @RequestMapping:

  1. @RequestMapping(value="/somepath")

  2. @RequestMapping("/somepath")

The latter is often used at class level. So, is it always legal omitting the value attribute?

4

2 回答 2

1

Java语言规范指出

对具有多个元素的注解类型使用单元素注解是合法的,只要一个元素被命名为值,而所有其他元素都有默认值。

由于@RequestMapping具有已定义的属性并且所有其他属性都有默认值(空数组),因此如果您没有为注释指定任何其他属性,则value省略名称的拼写始终是合法的:value

@RequestMapping("/somepath") // valid
@RequestMapping("/somepath",  method = RequestMethod.GET) // INVALID!
于 2013-10-04T10:09:12.910 回答
0

因为@RequestMapping注释是主要属性,所以它是强制性的。

1)@RequestMapping(value="/somepath"): 此处可以提及剩余属性,例如:method,produces 2) @RequestMapping("/somepath"): 此处不能提及其余属性,默认情况下"/somepath"将作为值属性。

检查这个

于 2013-10-04T08:30:12.080 回答