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

时间:2016-12-19 08:06:02

标签: java spring

public abstract class A{

}

class B{

@Autowired
A a;

}

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

2 个答案:

答案 0 :(得分:3)

忘记自动布线,在这里你不能根据其性质创建一个抽象类的对象,但如果你至少有一个扩展这个摘要的具体类,那么弹簧就能够自动布线,在这种情况下spring首先在内部创建一个具体类的实例,然后它将自动连接。由于抽象类是具体类的父类,因此它能够保存其子类对象。

答案 1 :(得分:2)

经过研究后我才知道,当我们想要创建抽象类的实例时(如果我们没有任何实现类),那么JVM建议创建实现类。以同样的方式,如果我们谈论Spring,它用于在第一次创建实例。

这就是春天要讲的错误。因此,在创建实现类之后,我们可以在另一个类中自动化抽象类。