Motivação
O CDI, acrônimo de Contexts and Dependency Injection, é uma especificação Java, criada a partir da JSR-299 (Java Specification Request), responsável por fazer o controle da injeção de dependências nas aplicações.
Por ser uma especificação, várias implementações foram feitas com base no CDI, como o JBoss Weld, Resin CanDI e Apache OpenWebBeans. No entanto, apesar de serem ferramentas distintas, elas requerem do desenvolvedor, basicamente, o conhecimento das mesmas anotações e técnicas de configuração estabelecidas pelo CDI.
Neste artigo veremos como utilizar essa especificação em um projeto Java, nos concentrando no JBoss Weld, implementação de referência dessa especificação.