当前位置: 首页 > 知识库问答 >
问题:

依赖于其他bean的Spring bean是否默认获得那些bean的单例版本?

程卓君
2023-03-14

    @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();
    }

我已经玩弄了@scope注释(没有用),但我的理解是我不应该这么做。

提前感谢您提供的任何信息!:)

共有1个答案

鲁淇
2023-03-14

我刚发完这篇文章,就意识到了问题所在...(总是这样...)

我想出了答案。以防万一还有人犯了同样的错误。我的IDE将方法修正为“静态”,当然它们不应该是。

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

 类似资料:
  • 我面对的是Bean(...)没有资格被所有BeanPostProcess处理。我已经将问题缩小到@Configuration类中的@Bean方法,我认为这是罪魁祸首: 配置类 据我所知,BeanPostProcessor bean创建得相当快,需要过早地实例化MeterRegistry bean,这使得它不合格(因为BeanPostProcessor正在操作尚未注入的bean)。 我在博客上看到一

  • 我有一个@Configuration注释类,它有@Bean注释方法。它们中的大多数只返回没有DI依赖项的新实例,例如: 但是一些bean需要构造函数注入,例如。 我该怎么做?

  • 我已经研究过这个问题:Spring3:注入默认Bean,除非存在另一个Bean,如果您知道所有Bean的名称,Java配置中显示的解决方案将很好地工作,但在我的情况下,我不知道Bean被称为什么。 有人知道有什么办法可以做到这一点吗?

  • 我在如下配置类中创建了一个bean: 在FoodConfig.java 在食品服务课程中,我需要访问食品配置。所以我自动连接了食品配置。 试图从我的FoodServiceTest类访问AbstractFoodService类中的someParam时,我得到一个Nullpointer异常。 然而,若我在AbstractFoodServiceClass的构造函数中注入FoodConfig,它就会工作。

  • 我已经尝试了以下问题中的解决方案,但在我的情况下都不起作用: 错误: XLSHTTPSMessageConverter:

  • Spring具有bean类型/作用域,如 -singleton bean(每个应用程序上下文只有一个bean), -prototype bean(每个请求一个新bean) 现在,如果在单例bean中有对原型bean的引用,是否有办法在对单例bean的每个请求中获得一个新的原型bean(在单例bean中)。< br >如果是,配置会是什么样的?