JavaEE中的CDI查询

时间:2013-06-21 17:42:18

标签: dependency-injection java-ee-6 cdi weld

这是我的情景:

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

2 个答案:

答案 0 :(得分:1)

最简单的解决方案是创建和使用限定符。

答案 1 :(得分:0)

与@LightGuard一样,提到使用限定符来消除具体实现的歧义将解决问题,或者您可以使用具体类作为限定注入点。以下是有关使用可能有用的Qualifiers in JavaEE的文章。