Spring - Configuration basée sur les annotations

À partir de Spring 2.5, il est devenu possible de configurer l'injection de dépendances en utilisant annotations. Ainsi, au lieu d'utiliser XML pour décrire un câblage de bean, vous pouvez déplacer la configuration de bean dans la classe de composant elle-même en utilisant des annotations sur la classe, la méthode ou la déclaration de champ appropriée.

L'injection d'annotations est effectuée avant l'injection XML. Ainsi, la dernière configuration remplacera la première pour les propriétés câblées à travers les deux approches.

Le câblage d'annotation n'est pas activé dans le conteneur Spring par défaut. Donc, avant de pouvoir utiliser le câblage basé sur les annotations, nous devrons l'activer dans notre fichier de configuration Spring. Considérez donc le fichier de configuration suivant au cas où vous souhaiteriez utiliser une annotation dans votre application 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>

Une fois que <context: annotation-config /> est configuré, vous pouvez commencer à annoter votre code pour indiquer que Spring doit automatiquement câbler les valeurs dans les propriétés, les méthodes et les constructeurs. Examinons quelques annotations importantes pour comprendre comment elles fonctionnent -

N ° Sr. Annotation et description
1 @Obligatoire

L'annotation @Required s'applique aux méthodes de définition des propriétés de bean.

2 @Autowired

L'annotation @Autowired peut s'appliquer aux méthodes de définition de propriété de bean, aux méthodes non-setter, au constructeur et aux propriétés.

3 @Qualificatif

L'annotation @Qualifier avec @Autowired peut être utilisée pour supprimer la confusion en spécifiant quel bean exact sera câblé.

4 Annotations JSR-250

Spring prend en charge les annotations basées sur JSR-250 qui incluent les annotations @Resource, @PostConstruct et @PreDestroy.