假设我有一个接口,我们称它为A,并且有两个实现此接口的类。现在,当我要进行依赖注入时,如何提及要调用的特定实现。
@Local
interface SortAlgo{
void sort();
}
class bubbleSort implements SortAlgo{
void sort(){
// logic
}
}
class insertionSort implements SortAlgo{
void sort(){
// logic
}
}
现在依赖注入
class SortArray{
@EJB
SortAlgo sortAlgo;
System.out.println(sortAlgo.sort());
}
在这一点上,我将提到选择哪种实现。
例如,如果您具有通过Verizon或T-Mobile网关发送SMS的SMS EJB,则:
@Local
public interface SmsProvider {
public void sendSms(Sms sms);
}
T移动:
@Stateless(name = "SmsProviderTMobile")
public class SmsProviderTMobile implements SmsProvider {
...
}
Verizon:
@Stateless(name = "SmsProviderVerizon")
public class SmsProviderVerizon implements SmsProvider {
...
}
然后,您可以像这样注入特定的实现:
@EJB(beanName = "SmsProviderTMobile")
SmsProvider smsProviderTMobile;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句