Разница между аннотациями @Inject и @ValueMapValue - PullRequest
1 голос
/ 11 марта 2019

Читая AEM документацию по использованию моделей , я не мог понять, в чем разница между @ Inject и @ ValueMapValue аннотация над полем.

Я пробовал использовать оба, и оба они кажутся одинаковыми, поэтому я должен что-то упустить.

1 Ответ

8 голосов
/ 11 марта 2019

Они не одинаковы, @Inject - это аннотация общего назначения, которая делает доступным значение из нескольких инжекторов.

@ValueMapValue - это особая аннотация, которая специально выбирает значение из инжектора карты значений,Это эквивалентно @Inject @Source("valuemap")

Когда введенное значение доступно только от одного инжектора, их поведение будет одинаковым, однако, если одно и то же свойство предоставляется двумя разными инжекторами (скажем, привязка скрипта и карта значений)они могут вводить разные значения.Подробнее здесь .

...