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

Dam*_*wie 2 java qualifiers java-ee

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

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

Tho*_*ene 7

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

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

你不能@Qualifier在一个方法上使用,因为如果你想要自动装配两个 bean而不是一个 - 如何知道哪个是哪个?