Escopos padrão do CDI 2.0
Gabarito: letra A. O CDI 2.0 define cinco escopos padrão no pacote javax.enterprise.context: @RequestScoped, @ApplicationScoped, @SessionScoped, @ConversationScoped e @Dependent. A alternativa A lista exatamente esses cinco, com os nomes corretos das anotações.
A banca testa o conhecimento dos nomes exatos das anotações de escopo do CDI. É comum que candidatos confundam os sufixos ou criem nomes inexistentes.
Escopo | Nome da Anotação (CDI 2.0) | Observação |
|---|
Requisição | @RequestScoped
| Sufixo "Scoped" obrigatório |
Aplicação | @ApplicationScoped
| Sufixo "Scoped" obrigatório |
Sessão | @SessionScoped
| Sufixo "Scoped" obrigatório |
Conversação | @ConversationScoped
| Sufixo "Scoped" obrigatório |
Dependente | @Dependent
| Pseudo-escopo; sem sufixo "Scoped" |
Alternativa A — ✅ Correta ⟵ GABARITO
Lista corretamente os cinco escopos: @RequestScoped, @ApplicationScoped, @SessionScoped, @ConversationScoped e @Dependent. Note que @Dependent não possui o sufixo "Scoped", mas é o nome oficial da anotação (pseudo-escopo).
Alternativa B — ❌ Incorreta
Apresenta nomes que não existem no CDI: @ResponseScoped, @InterfaceScoped, @CookieScoped. Além disso, o correto é @Dependent e não @DependentScoped.
Alternativa C — ❌ Incorreta
Embora os conceitos estejam certos, as anotações estão escritas sem o sufixo "Scoped" (@Request, @Application, etc.). No CDI, as anotações de escopo são @RequestScoped, @ApplicationScoped, @SessionScoped e @ConversationScoped. A anotação @Dependent está correta, mas as demais estão incompletas.
Alternativa D — ❌ Incorreta
Erra ao usar @DependentScoped (o correto é @Dependent). As demais anotações estão corretas, mas a presença de @DependentScoped torna a alternativa incorreta.
Alternativa E — ❌ Incorreta
Contém anotações inexistentes: @ResponseScoped, @InterfaceScoped, @CookieScoped, @ExchangeScoped. Nenhuma delas faz parte do CDI padrão. O correto seria @Dependent e não @DependentScoped (embora este item também não tenha @DependentScoped, mas sim @Dependent? Na verdade a alternativa E traz @Dependent? O enunciado diz "@Dependent"? Vamos ver: alternativa E: @ResponseScoped, @InterfaceScoped, @CookieScoped, @ExchangeScoped e @Dependent. – ela traz @Dependent sozinho? Sim, o texto original da E é: @ResponseScoped, @InterfaceScoped, @CookieScoped, @ExchangeScoped e @Dependent. – note que @Dependent está sem "Scoped", então este item está correto em relação a @Dependent, mas os outros estão errados. Portanto, está incorreta pelos outros nomes.
Gabarito: letra A