Spring - Конфигурация на основе аннотаций

Начиная с Spring 2.5 появилась возможность настраивать внедрение зависимостей с помощью annotations. Таким образом, вместо использования XML для описания связывания bean-компонентов вы можете переместить конфигурацию bean-компонентов в сам класс компонента, используя аннотации для соответствующего класса, метода или объявления поля.

Внедрение аннотации выполняется до внедрения XML. Таким образом, последняя конфигурация переопределит предыдущую для свойств, связанных с помощью обоих подходов.

Подключение аннотации не включено в контейнере Spring по умолчанию. Итак, прежде чем мы сможем использовать проводку на основе аннотаций, нам нужно будет включить ее в нашем файле конфигурации Spring. Поэтому рассмотрите следующий файл конфигурации, если вы хотите использовать любую аннотацию в своем приложении Spring.

<?xml version = "1.0" encoding = "UTF-8"?>

<beans xmlns = "http://www.springframework.org/schema/beans"
   xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
   xmlns:context = "http://www.springframework.org/schema/context"
   xsi:schemaLocation = "http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
   http://www.springframework.org/schema/context
   http://www.springframework.org/schema/context/spring-context-3.0.xsd">

   <context:annotation-config/>
   <!-- bean definitions go here -->

</beans>

После настройки <context: annotation-config /> вы можете начать аннотировать свой код, чтобы указать, что Spring должен автоматически связывать значения со свойствами, методами и конструкторами. Давайте посмотрим на несколько важных аннотаций, чтобы понять, как они работают.

Sr.No. Аннотация и описание
1 @Необходимые

Аннотация @Required применяется к методам установки свойств компонента.

2 @Autowired

Аннотация @Autowired может применяться к методам установки свойств компонента, методам без установки, конструктору и свойствам.

3 @Qualifier

Аннотацию @Qualifier вместе с @Autowired можно использовать, чтобы устранить путаницу, указав, какой именно компонент будет подключен.

4 Аннотации JSR-250

Spring поддерживает аннотации на основе JSR-250, которые включают аннотации @Resource, @PostConstruct и @PreDestroy.