CDI Integre as Dependencias E Contextos do Seu Codigo Java
Sumário
Sumário
1
1
1.1
Boas práticas de orientação a objetos . . . . . . . . . . . . . . . . . . .
2
1.2
Lidando com o acoplamento . . . . . . . . . . . . . . . . . . . . . . . .
7
1.3
Evolução das ferramentas de gestão de dependência . . . . . . . . . .
11
1.4
O bom e velho arquivo properties . . . . . . . . . . . . . . . . . . . . .
11
1.5
Buscando as dependências com Spring e XML . . . . . . . . . . . . . 14
1.6
Buscando as dependências com Seam e anotações . . . . . . . . . . . 17
1.7
2
Antes de falar de CDI...
De onde vimos? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
O que é e para que serve a CDI
21
2.1
2.2
Evitando que a complexidade do código sempre aumente . . . . . . . 21
2.3
Introdução à injeção de dependências . . . . . . . . . . . . . . . . . .
2.4
A motivação da CDI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.5
O que é e para que serve uma especificação? . . . . . . . . . . . . . . . 36
2.6
3
Para onde vamos? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
A CDI é só para Java EE mesmo? . . . . . . . . . . . . . . . . . . . . . 38
Iniciando um projeto com CDI
31
39
3.1
Olá CDI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.2
O que é um pacote CDI? . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.3
Usando injeção em propriedades, construtores e métodos inicializadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.4
As formas de se injetar dependências . . . . . . . . . . . . . . . . . . . 49
3.5
Recapitulando . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 i Casa do Código
Sumário
4 Resolvendo dependências com tipagem forte
53
4.1
4.2
Os qualificadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.3