Pular para o conteúdo principal

Questão de Programação — Plataforma Java — FCC 2022

ProgramaçãoPlataforma 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
  1. Ajavax.annotation.sql
  2. Bjavax.faces.bean
  3. Cjavax.ejb
  4. Djavax.annotation
  5. 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.

Gabarito: letra D.

Link permanente: /questoes/fc065210