【问题标题】:How to dependecy inject an EJB3 constructor?如何依赖注入 EJB3 构造函数?
【发布时间】:2013-11-12 15:04:07
【问题描述】:

根据EJB3 DI documentation,可以注入字段和设置器。但是如何注入一个 bean 构造函数呢?

【问题讨论】:

  • “注入 bean 构造函数”是什么意思?
  • 一个bean是一个类,一个类有一个构造函数。为了对类更具可测试性,必须通过其构造函数接受其依赖项。 EJB 可以像 Guice 和 Spring DI 那样解决类依赖关系吗?

标签: ejb ejb-3.0 ejb-3.1


【解决方案1】:

EJB 规范不支持构造函数注入。 EJB 编程模型只使用了无参构造函数,然后可以在实例构造完成后进行字段或setter 方法注入。

也就是说,EJB 3.1 是 EE 6 的一部分,其中包括 CDI。如果您的 EJB 模块是 CDI BDA(bean 部署存档),因为它包含 beans.xml,那么您可以使用 CDI 构造函数注入。

【讨论】:

  • 啊哈,我明白了。但是不能注入构造函数是非常糟糕的设计!
  • 如果您的设计需要构造函数注入,那么您可以使用 CDI。如果这回答了您的问题,请接受。
猜你喜欢
  • 2011-02-02
  • 2019-04-20
  • 1970-01-01
  • 1970-01-01
  • 2018-06-17
  • 1970-01-01
  • 2023-04-04
  • 1970-01-01
相关资源
最近更新 更多