可能这是一个愚蠢的问题。在java中,我们无法实例化抽象类。所以我们做不到:
AbstractClass abstractClass = new AbstractClass()
abstractClass.method();
但是在春天我们可以做到:
@Autowired
AbstractClass abstractClass;
abstractClass.method();
为什么?
答案 0 :(得分:4)
Spring将在其上下文中搜索与所需类型匹配的实现。 因此,如果您有一个从AbstractClass扩展的组件(@ Component,@ Service,@ Repository ...)ConcretClass,那么将注入此组件。