我正在重写抽象类的@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被解雇?
答案 0 :(得分:0)
从@Bean
带注释的方法返回null不会注册bean。
class MyClass extends AbstractClass {
@Bean(name="customOperation")
OperationClass injectBean() {
return null;
}
}
如果您的孩子在春季被扫描,则无法阻止抽象类中的Bean注册。覆盖父方法时,您可以控制Bean创建逻辑。