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. |