这可能吗? 我想这样做:
@EJB(beanName = "MyStratImpl")
public DateTimeReadImpl(MyStrategy<MyBean> myStrategy) {
this.strategy = myStrategy;
}
我有一个无参数构造函数,我想使用构造函数注入(inject)而不是进行字段注入(inject):
@EJB(beanName = "MyStratImpl")
private MyStrategy<MyBean> myStrategy strategy;
如何使用 ejb 引用作为构造函数参数?
(我可以使用setter注入(inject),或反射来注入(inject),但我不想)
最佳答案
我不认为EJB支持构造函数注入(inject),但是你可以使用CDI :
@Inject
public DateTimeReadImpl(MyStrategy<MyBean> myStrategy) {
this.strategy = myStrategy;
}
您需要enable CDI为了这个工作。另外,如果您有多个 bean 实现 MyStrategy<MyBean>
,您可以使用qualifiers .
关于java - 使用 @EJB(beanName = "myBean") 构造函数注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29650563/