Fala pessoal, tudo bem com vocês?
No ultimo Post falei sobre como podemos usar os benefícios da Injeção de Dependências (DI) e Inversão de Controle (IoC) utilizando o Spring Framework no desenvolvimento de aplicações Java na plataforma SE.
Porém ficou aquela coisa no ar que sempre deixa alguns programadores com receio de utilizar um determinado framework e essa coisa se chama configuração utilizando arquivo xml. A utilização do arquivo xml não é um problema para muitos, mais convenhamos, é um processo verboso e nem todos ficamos a vontade com o uso do arquivo xml.
Se você também pensa assim, que tal se fosse possível configurar o Spring Framework utilizando apenas anotações? Seria incrível livrar-se do xml não? Pois bem, a partir da versão 3.0 do Spring Framework isso já é possível com a anotação @Configuration.
Para isso basta ter uma classe conforme abaixo.
@Configuration public class Context { }
Simples não? Ao criar uma classe Java e adicionar a anotação @Configuration, estamos dizendo ao container do Spring que está classe pode ser utilizada com um “fornecedor” de Beans.
Até ai tudo bem, criei uma classe Java e adicionei a anotação, você deve ter pensado, e meus Beans? Como eu digo pro Spring Framework quem ele deve registrar?
Se vocês se lembra no arquivo xml, usávamos o “context:component-scan” para dizer ao Spring em quais pacotes ele deveria procurar nosso beans e registrá-los.
Isto agora é feito da seguinte forma:
@Configuration @ComponentScan (basePackages = "br.springannotations.*") public class Context { }
Feito isso, já temos o contexto do Spring Framework configurado, basta iniciar a aplicação e carregar o contexto para ver a mágica acontecer.
public static void main(String[] args) { ApplicationContext context = new AnnotationConfigApplicationContext(Context.class); UsuarioController bean = context.getBean(UsuarioController.class); bean.testController(); }
Com isso encerro por aqui, estou compartilhando o link do projeto no GitHub caso queiram ver mais detalhes.
Até a próxima.
Dependências
- spring-beans-4.0.2.RELEASE.jar
- spring-context-4.0.2.RELEASE.jar
- spring-core-4.0.2.RELEASE.jar
- spring-aop-4.0.2.RELEASE.jar
- spring-expression-4.0.2.RELEASE.jar
- commons-logging-1.1.1.jar
Referências
http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/
Deixe um comentário