Dúvidas de um iniciante com CDI

0 respostas
T

E ai galera, estava tirando algumas dúvidas com o Flavio, um dos membros aqui do grupo, e assim como sugerido por ele estou postando aqui uma das ultimas dúvidas que tive:

É o seguinte, eu utilizava o Spring para fazer as injeções de depêndencia, controle das transações, e agora com a utilização do CDI gostaria de saber o que o difere do Spring, e no caso de eu não está amsi usando o Spring, como posso fazer o controle de transações(utilizando a anotação @Transactional), e como posso fazer as classes se tornarem gerenciaveis pelo container, no sentindo que antes eu utlizava as anotações @Service, @Repository, @Controller nas classes, e agora me utilizo do @Inject, onde esse não posso anotar as classes.

Diferente do Spring, em CDI não há suporte pronto para controle de transação. Você precisa lembrar que CDI não é um framework como Spring ou Seam, mas ambos podem utilizar CDI. Eu coloquei um tutorial no guj de como usar CDI e usar anotações para métodos transacionais.

http://www.guj.com.br/java/234900-cdi--jsf-20-e-injecao-do-entitymanager-com-transacao-demarcada-mini-howto#1209265

Vale frisar que esse tutorial está velho, pois a nova versão não depende dos plugins do apache open web beans, sem falar que estou usando agora a implementação de CDI da JBoss (Weld). Ainda não postei a nova versão (muito melhor), porque ainda não terminei a parte de rollback via lançamento de exceções. Sobre o gerenciamento: um objeto gerenciado pelo container é aquele que você obtém via @Inject.

Criado 22 de março de 2011
Respostas 0
Participantes 1