第 7 章 Jakarta 上下文和依赖注入
7.1. Jakarta 上下文和依赖注入简介
7.1.1. 关于 Jakarta 上下文和依赖注入
Jakarta Contexts 和 Dependency Injection 2.0 是一种规范,旨在使 Jakarta 企业 Bean 3 能够用作 Jakarta 服务器 Faces 管理 Bean。Jakarta Contexts 和 Dependency Injection 统一了两种组件模型,并可显著简化 Java 中基于 Web 的应用程序的编程模型。有关 Jakarta 上下文和依赖注入 2.0 的详细信息,请参阅 Jakarta 上下文和依赖注入 2.0 规范。
JBoss EAP 包括 Weld,这是 JSR 365 的参考实施:Java 2.0 的上下文和依赖注入。JSR-365 的 Jakarta EE 规范是 Jakarta Contexts 和 Dependency Injection 2.0 规范。
weld 是 Java EE 平台的上下文和依赖注入的参考实施。上下文和依赖注入是用于依赖性注入和上下文生命周期管理的 JCP 标准。此外,上下文和依赖注入是 Java EE 中最重要的、最受欢迎的部分。
Jakarta 上下文和依赖注入的好处
Jakarta 上下文和依赖注入的好处包括:
- 使用注释替换大量代码,从而简化和缩小代码库。
- 灵活性,允许您禁用和启用注入和事件、使用备用 Bean 以及轻松注入非文本和依赖注入对象。
-
另外,如果您需要自定义配置,使其与默认值不同,允许您在
META
目录中包含-INF/
或 WEB-INF/beans.xml
文件。该文件可以为空。 - 简化打包和部署,减少您在部署中需要添加的 XML 数量。
- 通过上下文提供生命周期管理.您可以将注入与请求、会话、对话或自定义上下文相关联。
- 提供 type-safe 依赖项注入,与基于字符串的注入相比,它更安全且更易于调试。
- 将拦截器与 Bean 分离.
- 提供复杂事件通知.
7.1.2. Seam 2 和 Jakarta Server Faces 之间的关系
weld 是 Java EE 平台的上下文和依赖注入的参考实施。Java EE 平台的 Jakarta 同等的上下文和依赖注入是 Jakarta 上下文和依赖注入 2.0 规范。Seam 2 和其他依赖注入框架带入了我们,并包含在 JBoss EAP 中。
Seam 2 的目标是统一企业 JavaBeans 和 JavaServer Faces 管理 Bean。