【问题标题】:JSF 2 DI vs CDI Java EE 6/7JSF 2 DI 与 CDI Java EE 6/7
【发布时间】:2014-01-25 17:11:47
【问题描述】:

JSF DI 与 CDI 有何不同?我的意思是,是否可以通过 CDI 规范注入我们在 JSF DI 中使用的所有东西(例如FacesContext、托管属性等)?有问题或陷阱?

【问题讨论】:

  • CDI 比 JSF CI 健壮得多。可以在部署时静态/在部署时识别依赖错误,并且不太容易出现范围泄漏。将 JSF CI 视为已弃用。

标签: java jsf dependency-injection cdi


【解决方案1】:

考虑到 JSF2 没有为您提供对 FacesContext 的注入支持,似乎还有一个更大的问题在起作用。我相信 JSF 2.2 通过@Inject 添加了对此的支持。无法注入托管属性,预期的等价物是提供具有正确定义的 getter 和 setter 的 @Named bean,并从 UI 中利用它们。

【讨论】:

    【解决方案2】:

    没有问题,您可以将 CDI bean 注入 JSF Managed Beans 或直接使用。 我听说 JSF DI 将在未来的 Java EE 版本中被 CDI 取代。 您可以将所有内容都放在 Spring IoC 容器中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-15
      • 1970-01-01
      • 1970-01-01
      • 2012-01-19
      • 2012-06-11
      • 2012-05-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多