我有一个界面

public interface ParentService{}

和两个实现类
@Service("child1service")
public class Child1 implements ParentService{}

@Service("child2service")
public class Child2 implements ParentService{}

现在我的 Controller
public class ServeChild1Controller extendds AbstractController{

 @Autowired
 public ServeChild1Controller(@Qualifier("child1service") ParentService child1service){
 super(child1service)
  }

同样,还有ServeChild2Controller。

因此,当我运行时,出现以下错误



我正在尝试阅读有关这些注释的更多信息,但无法解决..
任何指针都会有所帮助
谢谢

最佳答案

为了使用特定实例,您需要使用@Qualifier(id)提供注释服务,并在构造函数中再次使用@Qualifier注释参数,如下所示:

@Service("child1service")
@Qualifier("child1service")
public class Child1 implements ParentService{}

@Service("child2service")
@Qualifier("child2service")
public class Child2 implements ParentService{}

而你的构造函数:
public class ServeChild1Controller extendds AbstractController{

    @Autowired
    public ServeChild1Controller(@Qualifier("child1service") ParentService child1service){
        super(child1service)
    }

}

09-10 08:11