我有一个带有方法m的接口和两个具体的实现A和B.
public interface I{
public void m();
}
public class A implements I{
public void m(){
//
}
}
public class B implements I{
public void m(){
//
}
}
我想知道何时注入I将执行哪两种方法
@EJB
private I service;
///
service.m();
/////
最佳答案 它们都不会,因为应用程序服务器不知道要使用哪个实现,它将变成一个错误.为了避免这种情况,只需提供类实现的id,默认情况下该类的名称与类相同,但以小写字母开头:
//uncomment one of these
//@EJB(name="a")
//@EJB(name="b")
private I service;