Frühling: Warum wird das Interface automatisch verdrahtet und nicht die implementierte Klasse?

Beispiel

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();
}

Kann mir jemand das erklären.

Woher weiß der Frühling, welchen polymorphen Typ er verwenden soll?Brauche ich@Qualifier oder@Resource?Warum wird die Schnittstelle und nicht die implementierte Klasse automatisch verkabelt?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage