依赖注入在EJB的后续多态性中如何工作

尼丁·辛格(Nitin Singhal)

假设我有一个接口,我们称它为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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章