No JEE 6 é a especificação que tem como propósito unir os m...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: A - Contexts and Dependency Injection (CDI).
A especificação Contexts and Dependency Injection (CDI), introduzida no Java EE 6, é uma parte fundamental do ecossistema Java para desenvolvimento de aplicações corporativas. O CDI permite integrar diferentes camadas da aplicação de maneira elegante e tipo-segura, proporcionando recursos avançados de gerenciamento de ciclo de vida dos componentes, injeção de dependências, e um modelo unificado de event handling.
Esta questão aborda a integração entre os modelos de componentes do JavaServer Faces (JSF), especificamente os Managed Beans, com o modelo de Enterprise JavaBeans (EJB). O CDI serve como uma ponte entre esses dois mundos, trazendo os benefícios do EJB para os Managed Beans do JSF e vice-versa. Isso significa que desenvolvedores podem usar anotações para definir beans gerenciados pelo container, fazer injeção de dependências de forma desacoplada, e aproveitar serviços transacionais e de segurança do EJB em beans do JSF.
Para responder essa questão corretamente, é necessário entender o propósito e funcionalidade do CDI dentro do universo Java EE. As demais alternativas não cumprem a função descrita no enunciado:
- Bean Validation (alternativa B) é usado para validar a entrada de dados nos beans.
- Expression Language (EL) (alternativa C) fornece uma linguagem para realizar queries e operações em tempo de execução em páginas JSP e JSF.
- Bibliotecas padrão para o JSP (alternativa D) são usadas para o desenvolvimento de páginas web dinâmicas utilizando JavaServer Pages.
- Enterprise JavaBeans (EJB) (alternativa E) é um modelo de componentes para a lógica de negócios, mas por si só não é responsável pela integração entre os Managed Beans do JSF e EJB, função essa desempenhada pelo CDI.
O uso do CDI em aplicações web facilita o desenvolvimento, pois reduz a necessidade de configurações boilerplate, promove o desacoplamento e incentiva a boa prática de programação orientada a aspectos, tornando a alternativa A a correta para a questão apresentada.
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
Fonte: The Java EE 6Tutorial
A partir da versão EJB 3.0, buscou-se o uso intenso de annotations como uma forma de simplificar a sintaxe e o uso dessas APIs, dentre elas, JSF.
Annotations permitem que certas operações, como injeções de dependência, se tornem mais simples.
Particularmente, na JSR 299: Contexts and Dependency Injection (CDI), define-se um conjunto de serviços que permite que componentes JEE como servlets, EJB e POJO possam ser manipulados dentro do ciclo de vida da aplicação com escopos bem definidos. CDI também permite que componentes JEE, EJB e JSF ManagedBeans serem injetados com baixo acoplamento: unificando e simplificando o modelo de programação entre estas duas tecnologias. Dentro dos muitos serviços, CDI traz suporte a transação dentro do web container, facilitando a utilização de recursos relacionados as fontes de dados e mecanismos de persistência.
Por exemplo, com CDI fica muito fácil construir uma aplicação web que acesse um banco de dados usando como persistência a especificação do JPA.
Fonte: http://fernandofranzini.wordpress.com/2009/11/06/dependency-injection-com-jsf-2-0/
Suas explicações são sempre muito interessantes e de grande serventia.
Obrigado pela ajuda nas questões!
a-
A injeção de dependencia implica instancia e remocao de objeto ocorrendo de modo transparente no codigo fonte. é feita por annotations que solicitam ao application server quand um recurso for necessario a aclasse
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo