@EJB(beanName = "MyStratImpl")
public DateTimeReadImpl(MyStrategy<MyBean> myStrategy) {
this.strategy = myStrategy;
}
我有一个没有args的构造函数,我想使用构造函数注入而不是进行字段注入:
@EJB(beanName = "MyStratImpl")
private MyStrategy<MyBean> myStrategy strategy;
如何使用ejb引用作为构造函数参数?
(我可以使用setter注入或反射注入,但我宁愿不注意)
答案 0 :(得分:2)
我不认为EJB支持构造函数注入,但您可以使用CDI:
@Inject
public DateTimeReadImpl(MyStrategy<MyBean> myStrategy) {
this.strategy = myStrategy;
}
您需要enable CDI才能使用此功能。此外,如果您有多个实施MyStrategy<MyBean>
的bean,则可以使用qualifiers。