Spring - Configuração Baseada em Anotação

A partir do Spring 2.5, tornou-se possível configurar a injeção de dependência usando annotations. Portanto, em vez de usar XML para descrever uma fiação de bean, você pode mover a configuração do bean para a própria classe do componente usando anotações na classe, método ou declaração de campo relevante.

A injeção de anotação é realizada antes da injeção de XML. Portanto, a última configuração substituirá a anterior para propriedades conectadas por meio de ambas as abordagens.

A fiação de anotação não é ativada no contêiner Spring por padrão. Portanto, antes de usarmos a fiação baseada em anotações, precisaremos habilitá-la em nosso arquivo de configuração Spring. Portanto, considere o seguinte arquivo de configuração caso queira usar qualquer anotação em seu aplicativo 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>

Depois que <context: annotation-config /> estiver configurado, você pode começar a anotar seu código para indicar que o Spring deve conectar automaticamente os valores em propriedades, métodos e construtores. Vejamos algumas anotações importantes para entender como funcionam -

Sr. Não. Anotação e descrição
1 @Requeridos

A anotação @Required se aplica aos métodos configuradores de propriedade do bean.

2 @Autowired

A anotação @Autowired pode ser aplicada a métodos configuradores de propriedade de bean, métodos não configuradores, construtor e propriedades.

3 @Qualificador

A anotação @Qualifier junto com @Autowired pode ser usada para remover a confusão especificando qual bean exato será conectado.

4 Anotações JSR-250

Spring oferece suporte a anotações baseadas em JSR-250, que incluem anotações @Resource, @PostConstruct e @PreDestroy.