此位置不允许使用注释@Qualifier

时间:2016-08-23 21:23:40

标签: java java-ee qualifiers

@Override
@Autowired(required = true)
@Qualifier("hibernateCriteriaBuilder")
public void setCriteriaBuilder(IQueryCriteriaBuilder<Entity> criteriabuilder)
{
  super.setCriteriaBuilder(criteriaBuilder):
}

这在我在java文件中的代码中,我不断收到错误消息:“注释@qualifier是为此位置拨打的。”有人可以向我解释如何解决这个错误吗?我的代码中有两次,但找不到解决方案。

1 个答案:

答案 0 :(得分:6)

我相信你在方法的参数上使用它会更加幸运,如下所示:

@Override
@Autowired
public void setCriteriaBuilder(
    @Qualifier("hibernateCriteriaBuilder") IQueryCriteriaBuilder<Entity> criteriabuilder)
{
    super.setCriteriaBuilder(criteriaBuilder):
}

你不能在一个方法上使用@Qualifier,因为如果你想自动装载两个 bean而不只是一个 - 怎么会知道哪个是哪个?