Contexts and Dependency Injection (CDI) é uma das principai...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a B. Os Qualificadores no CDI (Contexts and Dependency Injection) são anotações usadas para direcionar a injeção de dependências quando há mais de uma implementação possível para um mesmo tipo de bean. Isso significa que, se temos diversas classes que implementam a mesma interface, os qualificadores ajudarão o container do CDI a decidir qual implementação específica deve ser injetada em determinado ponto da aplicação.
Para entender o porquê da alternativa B estar correta, é preciso compreender o conceito de injeção de dependências, que é um padrão de projeto (design pattern) onde um objeto recebe outras instâncias das quais depende, ao invés de criá-las internamente. O CDI facilita esse processo no ambiente Java EE, mas pode haver ambiguidades quando múltiplas implementações estão disponíveis para uma mesma interface. Os qualificadores são então utilizados para resolver essas ambiguidades, adicionando metadados que podem ser utilizados para determinar qual implementação deve ser escolhida.
Vamos analisar rapidamente por que as outras alternativas estão incorretas:
- Alternativa A menciona "ciclo de vida e interações de componentes", o que está mais relacionado a Scopes e Contexts no CDI.
- Alternativa C fala sobre gerenciamento de estados e outros aspectos que são mais associados a outras especificações e frameworks, como JSF (JavaServer Faces).
- Alternativa D está incorreta porque os qualificadores não são usados para definir componentes EJB, mas sim para qualificar beans CDI para injeção de dependência.
- Alternativa E erra ao sugerir que os qualificadores são usados para prover interoperabilidade entre aplicações em diferentes plataformas, o que não é o propósito dos qualificadores no CDI.
Portanto, a alternativa B destaca precisamente a função dos qualificadores no CDI, que é indicar qual tipo de bean precisa ser injetado, resolvendo possíveis ambiguidades decorrentes da existência de múltiplas implementações para a mesma interface.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
GABARITO : B
" Um qualificador CDI é uma anotação que pode ser aplicada no nível da classe para indicar o tipo de bean que a classe é e, no nível do campo (entre outros lugares), para indicar que tipo de bean precisa ser injetado nesse ponto."
Definição de CDI : "A Injeção de Dependência e Contextos (CDI), especificada por JSR-299, é parte integrante do Java EE 6 e fornece uma arquitetura que permite aos componentes do Java EE, como os servlets, enterprise beans e JavaBeans, existirem dentro do ciclo de vida de uma aplicação com escopos bem definidos. Além disso, os serviços CDI permitem que os componentes do Java EE, como beans de sessão EJB e beans gerenciados do JavaServer Faces (JSF), sejam injetados e interajam de maneira acoplada flexível, disparando e observando eventos."
Fonte : https://netbeans.org/kb/docs/javaee/cdi-inject_pt_BR.html
Se vc faz a injeção cuja referência é uma interface
@Inject
private Interface exemplo
Se mais de uma classe implementar a interface, qual objeto o CDI irá injetar?
Então, é justamente aí que entra o qualifier
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo