可能这是一个愚蠢的问题。在Java中,我们无法实例化抽象类。所以我们不能做:
AbstractClass abstractClass = new AbstractClass()abstractClass.method();

但是在春季,我们可以:

@Autowired
AbstractClass abstractClass;
abstractClass.method();


为什么?

最佳答案

Spring将在其上下文中搜索与所需类型匹配的实现。
因此,如果您有一个从AbstractClass扩展来的组件(@ Component,@ Service,@ Repository ...),那么ConcretClass会被注入。

09-30 15:11