猿问

覆盖抽象类的@bean方法以防止bean注入

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


喵喔喔
浏览 221回答 1
1回答

临摹微笑

从带注释的方法返回 null@Bean不会注册 bean。class MyClass extends AbstractClass {    @Bean(name="customOperation")    OperationClass injectBean() {        return null;    }}如果您的孩子在春季被扫描,则无法阻止抽象类中的 bean 注册。在覆盖父方法时,您可以控制 bean 创建逻辑。
随时随地看视频慕课网APP

相关分类

Java
我要回答