Изначально конфигурация в Spring была доступна исключительно с помощью XML-файла, но, начиная с версии Spring 2.5, стала возможна конфигурация с помощью аннотаций. Благодаря этому, мы можем связывать между собой бины вставив аннотации непосредственно в Java-класс (доступны аннотации к классам, методом и полям).
По умолчанию, связывание с помощью аннотации не включена в контейнер Spring. Поэтому, прежде чем использовать аннотации, мы должны разрешить их использование в конфигурационном файле Spring.
Конфигурационный файл выглядит, примерно, так:
Как только мы вставили <context:annotation-config/ > в наш конфигурационный файл, мы можем начать использовать аннотации в нашем приложении.
Существует несколько видов распространённых аннотаций с примерами их использования:
@Required (ссылка на пример)
Может применяться к setter’ам.
@Autowired (ссылка на пример)
Может применяться к сеттерам, обычным методам, конструкторам и свойствам.
@Qualifier (ссылка на пример)
Этот вид аннотаций используется вместе с аннотациями Autowired когда возможна путаница при связывании (непонятно, с каким бином необходимо связать) и определяет конкретный бин
JSR-250 Annotations (ссылка на пример)
Spring Framework поддерживает аннотации основанные на JSR-250 (@PostConstruct, @PreDestroy и т.д.)
Примеры приложений:
Крайне рекомендую просмотреть каждый пример для того, чтобы точнее понять что именно все эти виды аннотаций делают и когда используются.