Questão de Programação — Plataforma Java — FCC 2022
Programação›Plataforma Java
Código
fc065210
Banca
FCC
Órgão
TRT - 22ª Região (PI)
Ano
2022
Cargo
Analista Judiciário - Tecnologia da Informação
Para utilizar ou saber sobre as anotações PostConstruct, PreDestroy, Priority, Resource, Generated e ManagedBean da Jakarta EE 8 Specification API, um Analista terá que procurar no pacote
Ajavax.annotation.sql
Bjavax.faces.bean
Cjavax.ejb
Djavax.annotation
Ejavax.inject
Revelar gabarito e comentário▾
GabaritoD — javax.annotation
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Anotações da Jakarta EE 8
Gabarito: letra D. As anotações PostConstruct, PreDestroy, Priority, Resource, Generated e ManagedBean pertencem ao pacote javax.annotation, que reúne as anotações comuns (Common Annotations) da especificação Jakarta EE 8 (antiga Java EE). Essas anotações são definidas na JSR-250 (Common Annotations for the Java Platform) e, na versão Jakarta EE 8, continuam sob o pacote javax.annotation (antes da migração para jakarta.annotation em versões posteriores).
A alternativa D é a correta, pois é o único pacote entre os listados que contém especificamente essas anotações de propósito geral.
Alternativa A — ❌ Incorreta
O pacote javax.annotation.sql contém anotações voltadas para mapeamento SQL, como @Table, @Column, @SqlResultSetMapping, etc. Nenhuma das anotações listadas está nele.
Alternativa B — ❌ Incorreta
javax.faces.bean é um pacote do JSF (JavaServer Faces) que contém anotações como @ManagedBean, @ViewScoped, @RequestScoped, etc. Embora ManagedBean seja uma anotação, a versão correta para a especificação Common Annotations é a do pacote javax.annotation (a anotação @ManagedBean em javax.faces.bean é outra, específica do JSF). As demais anotações não estão neste pacote.
Alternativa C — ❌ Incorreta
javax.ejb é o pacote para Enterprise JavaBeans, com anotações como @Stateless, @Stateful, @MessageDriven, etc. As anotações da questão não pertencem a este pacote.
Alternativa D — ✅ Correta ⟵ GABARITO
javax.annotation é o pacote correto. Ele abriga as anotações comuns da plataforma, incluindo todas as citadas no enunciado. Por exemplo, @PostConstruct e @PreDestroy são usadas para métodos de ciclo de vida; @Resource para injeção de recursos; @Generated para indicar código gerado; @Priority para ordenação de dependências; e @ManagedBean para beans gerenciados (esta última foi movida para javax.annotation no contexto das Common Annotations, embora também exista uma versão no JSF).
Alternativa E — ❌ Incorreta
javax.inject é o pacote da especificação CDI (Contexts and Dependency Injection) e contém anotações como @Inject, @Named, @Qualifier, @Scope, etc. As anotações do enunciado não são do CDI.
PEGA ESSA DICA!
Para memorizar, associe as anotações de ciclo de vida (@PostConstruct, @PreDestroy), injeção de recursos (@Resource), código gerado (@Generated), ordenação (@Priority) e bean gerenciado (@ManagedBean) ao pacote common annotations (javax.annotation). Elas são transversais a várias tecnologias Java EE/Jakarta EE, por isso estão em um pacote genérico e não em pacotes especializados como javax.ejb ou javax.faces.bean.