Мне интересно, существуют ли различия между @RequestMapping ("/ delete/{id}") и @RequestMapping (value = "/ delete/{id}") или нет. В одном не используется значение «значение =», а другое - «значение =».Существуют ли различия между @RequestMapping ("/ delete/{id}") и @RequestMapping (value = "/ delete/{id}")?
2
A
ответ
4
Нет, нет никакой разницы. Когда атрибут аннотации называется value
, его можно опустить (если вы не используете другие атрибуты). Это верно для всех аннотаций, а не только для RequestMapping.
См the JLS для более подробной информации:
одноэлементных аннотаций, является сокращенным предназначен для использования с типами одноэлементного аннотаций (§9.6.1).
SingleElementAnnotation:
@ TypeName (ElementValue)
Это сокращенное для нормальной аннотации:
@TypeName(value = ElementValue)
Это законно использовать одноэлементные аннотации для типов аннотаций с несколькими элементами, так долго, как один элемент и все остальные элементы имеют значения по умолчанию (§9.6.2).