这是我的情景:
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
的错误。很公平,但我需要解决它,因为在很多情况下我可能会使用BaseFacade
+ BaseRepository
。
@Inject
BaseRepository baseRepository
答案 0 :(得分:1)
最简单的解决方案是创建和使用限定符。
答案 1 :(得分:0)
与@LightGuard一样,提到使用限定符来消除具体实现的歧义将解决问题,或者您可以使用具体类作为限定注入点。以下是有关使用可能有用的Qualifiers in JavaEE的文章。