Spring - Configuración basada en anotaciones

A partir de Spring 2.5 fue posible configurar la inyección de dependencia usando annotations. Entonces, en lugar de usar XML para describir el cableado de un bean, puede mover la configuración del bean a la clase del componente usando anotaciones en la declaración de clase, método o campo relevante.

La inyección de anotaciones se realiza antes de la inyección XML. Por lo tanto, la última configuración anulará la primera para las propiedades conectadas a través de ambos enfoques.

El cableado de anotación no está activado en el contenedor Spring de forma predeterminada. Entonces, antes de que podamos usar cableado basado en anotaciones, necesitaremos habilitarlo en nuestro archivo de configuración Spring. Así que considere el siguiente archivo de configuración en caso de que quiera usar alguna anotación en su aplicación 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>

Una vez que se configura <context: annotation-config />, puede comenzar a anotar su código para indicar que Spring debería conectar automáticamente los valores en propiedades, métodos y constructores. Veamos algunas anotaciones importantes para comprender cómo funcionan:

No Señor. Anotación y descripción
1 @Necesario

La anotación @Required se aplica a los métodos de establecimiento de propiedades de bean.

2 @Autowired

La anotación @Autowired se puede aplicar a los métodos de establecimiento de propiedades de bean, métodos no definidores, constructor y propiedades.

3 @Calificatorio

La anotación @Qualifier junto con @Autowired se puede utilizar para eliminar la confusión especificando qué bean exacto se conectará.

4 Anotaciones JSR-250

Spring admite anotaciones basadas en JSR-250 que incluyen anotaciones @Resource, @PostConstruct y @PreDestroy.