public abstract class A{
}
class B{
@Autowired
A a;
}
为什么当我可以在Spring中插入接口时,这似乎不起作用?它不应该找到一个扩展该抽象类A的具体类,然后将其连接到类B中,就像它对接口一样吗?
答案 0 :(得分:3)
忘记自动布线,在这里你不能根据其性质创建一个抽象类的对象,但如果你至少有一个扩展这个摘要的具体类,那么弹簧就能够自动布线,在这种情况下spring首先在内部创建一个具体类的实例,然后它将自动连接。由于抽象类是具体类的父类,因此它能够保存其子类对象。
答案 1 :(得分:2)
经过研究后我才知道,当我们想要创建抽象类的实例时(如果我们没有任何实现类),那么JVM建议创建实现类。以同样的方式,如果我们谈论Spring,它用于在第一次创建实例。
这就是春天要讲的错误。因此,在创建实现类之后,我们可以在另一个类中自动化抽象类。