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

 

Referências

http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/

Deixe um comentário

I’m Fernando Godói

Especialista em Desenvolvimento de Software com experiência na concepção e implementação de microsserviços utilizando padrões robustos, incluindo Event Driven Architecture (EDA), Event Sourcing, SAGA, e Command Query Responsibility Segregation (CQRS), entre outros.

Let’s connect