为什么我们不能在 Spring 的具体类中自动装配抽象类?

Dau*_*aud 0 java spring

public abstract class A{

}

class B{

@Autowired
A a;

}
Run Code Online (Sandbox Code Playgroud)

当我可以将接口插入 Spring 时,为什么这似乎不起作用?难道它不应该找到一个扩展抽象类 A 的具体类,然后将其连接到类 B 中,就像接口一样?

Kir*_*mar 5

只是忘记自动装配,在这里您不能根据其性质创建抽象类的对象,但是如果您至少有一个扩展此抽象的具体类,那么弹簧能够自动装配,在这种情况下,弹簧在内部创建首先是一个具体类的实例,然后它会自动连接。因为这里抽象类是具体类的父类,它能够保存其子类对象。