我正在覆盖@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被解雇?
1 回答

临摹微笑
TA贡献1982条经验 获得超2个赞
从带注释的方法返回 null@Bean不会注册 bean。
class MyClass extends AbstractClass {
@Bean(name="customOperation")
OperationClass injectBean() {
return null;
}
}
如果您的孩子在春季被扫描,则无法阻止抽象类中的 bean 注册。在覆盖父方法时,您可以控制 bean 创建逻辑。
添加回答
举报
0/150
提交
取消