Java EE中CDI技术的目的及其与JSF等UI技术和EJB等后端技术的关系

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

你能解释一下这项技术的目的吗?该技术与JSF和EJB有什么关系?我已经完成了这个question,但我还不清楚该技术的目的是什么.我特别想知道它与EJB和JSF等其他Java EE技术的匹配程度.

最佳答案
添加到Bozho的正确答案:

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.

进一步阅读:

> How do CDI and EJB compare? interact?
> CDI, when to break out the EJBs

转载注明原文:Java EE中CDI技术的目的及其与JSF等UI技术和EJB等后端技术的关系 - 代码日志