簡體   English   中英

依賴注入在 EJB 的以下多態中是如何工作的

[英]How does dependency injection work in EJB's following polymorphism

假設我有一個接口,我們稱之為 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 Gateway 發送 SMS 的 SMS EJB,則:

@Local
public interface SmsProvider { 
    public void sendSms(Sms sms);
}

T移動:

@Stateless(name = "SmsProviderTMobile")
public class SmsProviderTMobile implements SmsProvider {
...
}

威瑞森:

@Stateless(name = "SmsProviderVerizon")
public class SmsProviderVerizon implements SmsProvider {
...
}

然后你可以像這樣注入特定的實現:

@EJB(beanName = "SmsProviderTMobile")
SmsProvider smsProviderTMobile;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM