gpt4 book ai didi

java - 默认情况下,依赖于其他 bean 的 Spring bean 是否会获得这些 bean 的单例版本?

转载 作者:行者123 更新时间:2023-11-29 08:39:49 32 4
gpt4 key购买 nike

我刚开始使用 Spring-Framework,实际上我正在使用 spring-boot 库。我有以下问题:

我知道在 @Configuration 类中使用 @Bean 注册的 bean 默认是单例的,但是我发现依赖其他 bean 的 bean 正在获取这些 bean 的它们自己的实例,而不是我希望它们获得的单例实例有。

例如:

    @Bean    public static void myFirstService() {        return new MyFirstService(foo(), bar());    }    @Bean    public static void mySecondService() {        return new MySecondService(foo(), bar());    }    @Bean    public static void foo() {        return new Foo();    }    @Bean    public static void bar() {        return new Bar();    }

我希望 MyFirstService 和 MySecondService 的实例具有相同的 foo 和 bar 实例。这是默认情况下应该发生的事情,对吧?还是我完全误解了 bean 的处理方式?

我已经尝试过 @Scope 注释(无济于事),但据我所知,我不应该这样做。

在此先感谢您的任何意见! :)

最佳答案

我一发布这个,我就意识到了问题...(总是这样...)

我想出了答案。以防其他人犯同样的错误。我的 IDE 将方法更正为“静态”,当然它们不应该是这样。

我已将这些方法更改为实例方法,一切都按预期工作。

关于java - 默认情况下,依赖于其他 bean 的 Spring bean 是否会获得这些 bean 的单例版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41146178/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com