Они не одинаковы, @Inject
- это аннотация общего назначения, которая делает доступным значение из нескольких инжекторов.
@ValueMapValue
- это особая аннотация, которая специально выбирает значение из инжектора карты значений,Это эквивалентно @Inject @Source("valuemap")
Когда введенное значение доступно только от одного инжектора, их поведение будет одинаковым, однако, если одно и то же свойство предоставляется двумя разными инжекторами (скажем, привязка скрипта и карта значений)они могут вводить разные значения.Подробнее здесь .