Qual a diferença entre CDI e Spring?

Bom dia pessoal!

Hoje a dúvida é sobre injeção de dependências.

Estou lendo vários artigos sobre está prática, e até li o PDF do KicoLobo sobre o Spring. Porém navegando pelos artigos descobri o tal do CDI.

Qual a diferença entre os dois? Até então eu desconhecia o CDI, e estava justamente estudando o Spring para um projeto vindouro que terei de assumir com uma equipe.

Vi que muitos até questionam qual a utilidade do CDI frente ao Spring, notando que o CDI já é implementação padrão do JavaEE e o Spring depende de bibliotecas pra ser implantado em projetos.

Aguardo as respostas, obrigado!

:wink:

Ruttmann

CDI é parte do java 6 , publicado na JSR 299 em dezembro de 2009 ,mas o spring não é apenas DI, IoC, enfim …mas se o seu novo projeto precisa usar apenas DI …não há necessidade de se usar spring nos projetos …entendeu …o java já te oferece estas facilidades nativamente … agora se a sua equipe manja spring e são mais produtivos com este framework , então nada te impede de continuar a usar spring …enfim esta é a minha opinião …

[quote=Aleksandro]Ruttmann

CDI é parte do java 6 , publicado na JSR 299 em dezembro de 2009 ,mas o spring não é apenas DI, IoC, enfim …mas se o seu novo projeto precisa usar apenas DI …não há necessidade de se usar spring nos projetos …entendeu …o java já te oferece estas facilidades nativamente … agora se a sua equipe manja spring e são mais produtivos com este framework , então nada te impede de continuar a usar spring …enfim esta é a minha opinião …[/quote]
É, vamos usar IoC também neste projeto, e realmente não tem como abrir mão do Spring…

Citei esse caso levando em consideração o conceito de DI somente, mas então nem tem muita diferença entre os dois né?

Obrigado pela explicação…

oque vc faz com di vc faz com spring.

A questão é que o CDI é nativo, porém o spring te dá algumas facilidades, como integração com framework de persistencia, spring data por exemplo, jms, mvc e etc.

Mas se vc precisar só de injeção de dependencias, nao tem pq usar Spring.

Aqui usamos spring, mas pq utilizamos os componentes dele como aspectos e etc.

abrassss

[quote=renanreismartins]oque vc faz com di vc faz com spring.

A questão é que o CDI é nativo, porém o spring te dá algumas facilidades, como integração com framework de persistencia, spring data por exemplo, jms, mvc e etc.

Mas se vc precisar só de injeção de dependencias, nao tem pq usar Spring.

Aqui usamos spring, mas pq utilizamos os componentes dele como aspectos e etc.

abrassss[/quote]

Pois é, Spring é bem abrangente.

E por causa dessa abrangência eu tô batendo a cabeça aqui pra estudar ele… :lol:

Obrigado pela resposta colega!

:wink:

também li os pdfs do kico, e não sei se vc soube, ele lançou um livro de spring, está disponivel na casa do código

apesar de estar em beta, comprei e cara… recomendo mto

grande abrasssss

[quote=renanreismartins]também li os pdfs do kico, e não sei se vc soube, ele lançou um livro de spring, está disponivel na casa do código

apesar de estar em beta, comprei e cara… recomendo mto

grande abrasssss[/quote]

Vi hoje de manhã esse livro lá na Casa do Código, também me interessei em comprar…

Mas acho que vou esperar a versão completa, to lendo sobre JSF, Struts e Tiles. E ainda por cima estudando pra certificação. :lol:

Então vai demorar pra caramba até terminar essas leituras e poder me dedicar mais ao Spring mesmo…

que PDF é esse do kico?

acho que achei, é esse né?

http://www.itexto.net/guias/di_spring3_v00.pdf

sim.