Primavera: Por que nós autowire a interface e não a classe implementada?
Exemplo
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();
}
Alguém pode explicar isso para mim.
Como a mola sabe qual tipo polimórfico usar.Eu preciso@Qualifier
ou@Resource
?Por que nós autowire a interface e não a classe implementada?