使用@EJB构造函数注入(beanName =“myBean”)

时间:2015-04-15 12:43:46

标签: java dependency-injection ejb

这可能吗? 我想这样做:

@EJB(beanName = "MyStratImpl")
public DateTimeReadImpl(MyStrategy<MyBean> myStrategy) {
  this.strategy = myStrategy;
}

我有一个没有args的构造函数,我想使用构造函数注入而不是进行字段注入:

@EJB(beanName = "MyStratImpl")
private MyStrategy<MyBean> myStrategy strategy;

如何使用ejb引用作为构造函数参数?

(我可以使用setter注入或反射注入,但我宁愿不注意)

1 个答案:

答案 0 :(得分:2)

我不认为EJB支持构造函数注入,但您可以使用CDI

@Inject
public DateTimeReadImpl(MyStrategy<MyBean> myStrategy) {
    this.strategy = myStrategy;
}

您需要enable CDI才能使用此功能。此外,如果您有多个实施MyStrategy<MyBean>的bean,则可以使用qualifiers

相关问题