首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CDI技术在Java中的用途及其与JSF等UI技术和EJB等后端技术的关系

CDI技术在Java中的用途及其与JSF等UI技术和EJB等后端技术的关系
EN

Stack Overflow用户
提问于 2012-12-21 13:35:31
回答 2查看 366关注 0票数 4

这个问题直接来自于我的另一个问题here。这个问题的answer的最后一段提到了CDI技术。

你能解释一下这项技术的目的是什么吗?该技术与JSF和EJB有什么关系吗?我已经经历了这个question,但我还不清楚这项技术的目的是什么。我特别想知道它与EJB和JSF等其他Java技术的契合点。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-21 18:51:15

补充博卓的正确答案:

CDI是JSF托管bean的超集,JSF最终将弃用它们自己的本机托管bean系统。在JSF 2.2中,已经为此采取了步骤。

CDI不是EJB bean的超集,但它们相辅相成。CDI不仅为EJB bean提供了更高级的DI,而且还能够为EJB bean提供作用域(主要用于有状态bean)。EJB本身提供了CDI不提供的事务和安全服务等。与JSF托管bean一样,EJB bean最终将被合并到CDI组件模型中。Marina Vatkina (EJB规范负责人)和其他人在这方面有strongly hinted

进一步阅读:

票数 7
EN

Stack Overflow用户

发布于 2012-12-21 13:44:20

首先,CDI是一个依赖注入标准框架。它为对象定义了不通过实例化(private FooDao dao = new FooDao())而是通过创建和管理实例的容器来获取其依赖关系的方法。你可以阅读更多关于依赖注入的内容(google/wiki)。

该标准定义了如何使用JSF和EJB。

  • 您的JSF受管bean可以通过CDI定义,这样您就可以将服务注入到受管bean中,这样CDI就可以管理JSF受管bean的生命周期
  • EJB还可以从CDI的高级依赖项注入中受益(以前它们有自己的、缺乏功能的依赖注入)。

简而言之,CDI以spring绑定其所有组件的方式绑定JavaEE中的所有组件,但CDI是一个标准。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13984795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档