Wiosna: Dlaczego automatycznie zatwierdzamy interfejs, a nie zaimplementowaną klasę?

Przykład

interface IA
{
  public void someFunction();
}

@Resource(name="b")
class B implements IA
{
  public void someFunction()
  {
    //busy code block
  }
  public void someBfunc()
  {
     //doing b things
  }
}

@Resource(name="c")
class C implements IA
{
  public void someFunction()
  {
    //busy code block
  }
  public void someCfunc()
  {
     //doing C things
  }
}

class MyRunner
{

  @Autowire
  @Qualifier("b") 
  IA worker;

  worker.someFunction();
}

Czy ktoś może mi to wyjaśnić.

Skąd wiosna wie, jakiego typu polimorficznego użyć.Czy potrzebuję@Qualifier lub@Resource?Dlaczego automatycznie zatwierdzamy interfejs, a nie zaimplementowaną klasę?

questionAnswers(2)

yourAnswerToTheQuestion