Я разобрался. Есть @Qualifier из разных пакетов. Оба они касаются DI (внедрения зависимостей).
В реальной жизни может сложится ситуация, когда создаётся несколько бинов одного и того же типа (например, с 1 и тем же интерфейсом), но в конкретном случае например необходим конкретный бин. @Qualifier — аннотация позволяет уточнить какой именно.
1) Есть @Qualifier, которая импортируется из пакета CDI JSR 330 (CDI-это стандарт Java для контекстов и внедрения зависимостей, а JSR-330-это его подмножество, которое он полностью поддерживает), импортируется так:
import javax.inject.Qualifier
Ее уточнение не добавляется, просто пишется так:
@Qualifier
2) Есть @Qualifier, которая импортируется из пакета фреймворка Spring (фреймворк для внедрения зависимостей), импортируется так:
import org.springframework.beans.factory.annotation.Qualifier
И ей как раз указывается "уточнение" в скобках:
@Qualifier("appContext1")
В Spring бин называется по имени и вызывается явно по нему.
В случае JSR 330 для этого создается своя аннотация для разделения зависимостей с одинаковыми интерфейсами и затем применяется и к классу бина и к зависимости. Документ про который шла речь в вопросе как раз перечень таких аннотаций.
Итого: в Spring - определяемся с необходимым бином по его имени, а в JSR 330 - по имени его аннотации и удобно перечень всех этих аннотаций собрать в отдельный файл (что и сделали).
Источник (тут же можно и примеры посмотреть)