Весна: Почему мы автоматически подключаем интерфейс, а не реализованный класс?
пример
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();
}
Может кто-то объяснить это мне.
Как весна знает, какой полиморфный тип использовать.Нужно ли мне@Qualifier
или же@Resource
?Почему мы автоматически подключаем интерфейс, а не реализованный класс?