让一个 Spring bean 继承另一个 bean 是一种好习惯吗?

Is it a good practice to make one Spring bean inherit another one?

在我的Spring Boot web 应用程序中有两个bean,其中一个继承了另一个并且都实现了一个接口。这条线:

@Component 
public class A implements SomeInterface {
    // ....
} 

@Component 
public class B extends A implements SomeInterface {
    // ....
} 

让一个 bean 扩展另一个 bean 是个好主意还是最好使用装饰器?为什么?

我指的不是任何具体情况,而是一般情况。

不能,因为如果你通过接口或超级注入它会失败class。如果你现在注入 A 它是不明确的。

询问这是否是好的做法是一个模棱两可的问题,只能真正收集意见。 使用接口的一种方法是 @Autowire 实现的所有实例 类 并在每个实例上调用一个方法

@Autowired
List<SomeInterface> someInterfaces;


public void someAction(SomeObject object) {
    for(SomeInterface someInterface: someInterfaces) {
        someInterface.doSomething(object);
    }
}