我正在重写一个抽象类的@bean
注释方法。我这样做是为了防止从该抽象类创建bean。
class AbstractClass {
@Bean
OperationClass injectBean() {
//injects its own type of OperationClass
}
}
class MyClass extends AbstractClass {
@Bean(name="customOperation")
OperationClass injectBean() {
//inject my own bean
}
}
但是,这段代码最终会在spring上下文中注册2个bean。我该怎么做才能阻止父类的@bean被解雇?
从@Bean
注释方法返回null不会注册bean。
class MyClass extends AbstractClass {
@Bean(name="customOperation")
OperationClass injectBean() {
return null;
}
}
如果您的孩子被春天扫描,则无法阻止抽象类中的bean注册。在重写父方法时,您可以控制bean创建逻辑。