2015-04-15 55 views
0

这是可能的吗? 我想这样做:@EJB(beanName =“myBean”)的构造函数注入

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

我有一个无参数的构造函数,我想用而不是做字段注入构造器注入:

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

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

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

回答

2

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

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

您需要登录enable CDI才能正常工作。另外,如果您有多个实施MyStrategy<MyBean>的bean,则可以使用qualifiers