2013-06-21 32 views
1

這裏是我的情況:CDI查詢中的JavaEE

public BaseJPARepository implements BaseRepository{} 

public AuthorizationsJPARepository extends BaseJPARepository implements AuthorizationsRepository{] 

public ClearingJPARepository extends BaseJPARepository implements ClearingRepository{} 

我想注入到我的基地門面BaseJPARepository

CDI拋出錯誤Multiple ambiguous dependencies found -> BaseJPARepository,AuthorizationsJPARepository and ClearingJPARepository。很公平,但我需要解決它,因爲在很多情況下我可能只使用我的​​BaseRepository

@Inject 
BaseRepository baseRepository 

回答

1

最簡單的解決方案是創建和使用限定符。

0

就像@LightGuard提到的使用限定符來消除具體實現的歧義可以解決問題,或者可以使用具體的類作爲合格注入點。這裏有一篇關於使用Qualifiers in JavaEE的文章可能有幫助。