上下文和依赖性注入 1.2 概述
Liberty 通过使用 Liberty 功能部件 cdi-1.0 和 cdi-1.2 在应用程序中提供对上下文和依赖性注入的支持。
上下文和依赖性注入 (CDI) 1.2 功能部件提供对 CDI 1.2 规范的全面支持。CDI 1.2 规范中提供了 CDI 1.2 功能的完整描述,请参阅用于 Java EE 平台的上下文和依赖性注入。
CDI 1.2 功能部件所提供的服务集合包含严格定义的有状态对象生命周期,这些对象与生命周期上下文和类型安全依赖性注入机制绑定。
将上下文和依赖性注入 1.2 与 JavaServer Faces 应用程序配合使用
可以将 CDI 1.2 功能部件与 JavaServer Faces (JSF) 2.2 功能部件配合使用,以允许 JSF 应用程序利用 CDI 1.2 功能部件中提供的精密上下文和依赖性注入模型。此服务是通过与统一表达式语言 (EL) 集成而提供,EL 允许直接在 JSF 或 JavaServer Pages (JSP) 页面中使用任何上下文对象。
将上下文和依赖性注入 1.2 与 Enterprise JavaBeans (EJB) 配合使用
可将 CDI 1.2 功能部件与 Enterprise JavaBeans (EJB) 3.2 功能部件配合使用,以上下文生命周期管理增强 EJB 组件模型。CDI 1.2 功能部件所提供的服务将 Java™ EE Web 层与 Java EE 企业服务集成到一起。尤其是,这允许 EJB 组件用作 JSF 管理的 Bean,从而集成 EJB 和 JSF 的编程模型。
将上下文和依赖性注入 1.2 与 Servlet 3.1 配合使用
可将 CDI 1.2 功能部件与 Servlet 3.1 功能部件配合使用,以允许 Servlet 应用程序充分利用 CDI 1.2 功能部件提供的服务。使用这两个功能部件之后,上下文管理的 Bean 能够通过字段、方法或构造函数注入来插入至 Servlet 应用程序。CDI 1.2 功能部件还提供了 Servlet 侦听器、过滤器和拦截器的自动注册。
上下文和依赖性注入 1.2 应用程序中的 Java 拦截器
CDI 1.2 功能部件针对拦截器扩展了 Java 模型。CDI 1.2 功能部件允许将拦截器与 Bean 相关联。拦截器是使用类型安全拦截器绑定进行绑定。如果将 CDI 1.2 和 EJB 3.2 功能部件都装入至 Liberty 服务器,那么此模型可扩展至 EJB Bean。