CDI ou Spring?

15 respostas
R

Bom, estou iniciando agora o desenvolvimento Web e de cara me deparei com este paradoxo, utilizar o CDI ou Spring ? Pois percebi que ambos realizam a Injeção de Dependência .

15 Respostas

R

Eu diria: depende do tipo de servidor que você pretende usar. Se for usar um servidor full-JEE como o Jboss ou Glassfish, eu usaria o CDI, pois ele já acompanha o servidor. No caso de usar um Web conteiner como Tomcat ou Jetty, o Spring pode ser uma boa …

R

Estava lendo aqui… o que o Weld tem haver com tudo isso ? Porque dizem que devemos usar o Weld no CDI ?

R

CDI é uma especificação, assim como JPA. O Weld é uma implementação dessa especificação, assim como Hibernate:

Hibernate — implementa —> JPA ,

assim como

Weld — implementa —> CDI.

Uma 3a opção é o Google Guice.

R

Ah entendi. Mas neste caso qual a vantagem em usar CDI ao invés de Spring ?

E

JPA é uma implementação, a especificação de persistência em Java se encontra aqui:

http://jcp.org/aboutJava/communityprocess/final/jsr317/

A

vai colocar uma lib no classpath da app, sendo que o J2EE full ja te da o que precisa ?

R

Pois é mais estou lendo que além do DI o Spring também possibilita programação orientada a aspectos e mais algumas funcionalidades que apenas o CDI não tem.

E

Se vai precisar dessas funcionalidades, use Spring!

Apenas lembre-se de que, se usar a injeção de dependências dele, seus objetos vão ficar anêmicos.

A

tem certeza ?

o que gostaria de fazer que fosse orientado a aspectos que com DI não pudesse fazer ?
se fosse usar aparte de segurança do Spring colocaria a lib sabendo que pode usar JAAS ?

cheguei a comprar um livro de Spring, mas sendo sincero, nos dias de hoje com tudo que a spec J2EE tem, não veja mais a necessidade de utilização do Spring.

R

Eita hehehe… Então o melhor é partir para o CDI mesmo ?

Obs: Na empresa que trabalho utilizamos Spring, por isso gostaria de começar com Spring também.

A

juro que não sou xiita rsrsrsrsr, é que brother, na real mesmo, tem que havaliar o contexto, se o pessoal é acostumado com a ferramenta e desenvolve rapido utilizando Spring quem sabe não é legal usar ? eu em particular nos dias de hoje não usaria mas as vezes dependendo do escopo do projeto pode valer a pena, abraços.

E

E o mapeamento de requisições?

A

E o mapeamento de requisições?

não entendi sua pergunta brother, o que tem o mapeamento de requisições ? fala daquelas url´s mapeadas na controller ? depende do framework que vai utilizar ou até mesmo com servlets no webxml ou com servlet 3 via annotation.

E

Exatamente isso. E não vai precisar de um framework pra DI no final das contas? Não gosto muito do Spring tmb - apesar de ter começado nele - mas tem algumas coisas nele que facilitam. Só acho que no fim das contas pode estar trocando 6 por meia dúzia.

A

$ERVER:

Se vai precisar dessas funcionalidades, use Spring!

Apenas lembre-se de que, se usar a injeção de dependências dele, seus objetos vão ficar anêmicos.

Usar DI do Spring não deixa objetos anêmicos.
Pode explicar o que você quis dizer com isso?

Criado 18 de julho de 2013
Ultima resposta 19 de jul. de 2013
Respostas 15
Participantes 5