Em algumas aplicações vejo a anotação @EJB fazendo o mesmo papel da anotação @Inject, ainda não consegui entender qual a diferença entre as duas, alguém sabe dizer?
Em algumas aplicações vejo a anotação @EJB fazendo o mesmo papel da anotação @Inject, ainda não consegui entender qual a diferença entre as duas, alguém sabe dizer?
Olá Humberto, tudo bem?
Eu também já vi as duas anotações, e também tinha essa dúvida. Fiz um tempo atrás uma pesquisa em algumas documentações e tive o seguinte entendimento:
O @EJB seria usado para injeção de EJBs somente. Já o @Inject que pertence a especificação do CDI pode injetar qualquer managed Bean. O @Inject acabou substituindo parte das responsabilidades das anotações anteriores específicas das tecnologias EJB e JSF. Dessa forma, em casos simples, não temos diferenças significaticas quando trocamos uma anotação pela outra, porém se precisarmos de recursos mais avançados, como por exemplo dependências circulares e atributos EJB como beanName, lookup e mappedName, etc, temos que utilizar a anotação raiz (@EJB)
Espero ter ajudado!
Obrigado Rafael, entendi um pouco mais porém ainda não vejo muita diferença onde usar cada um!