首页 > 解决方案 > 当我们使用 getBean 方法创建原型 bean 时,是否会创建新的 bean 属性实例(单例)?

问题描述

假设有两个类

   @Scope("prototype")
    Class A{
    @Autowired
    private B b;

    }

   @Scope("singleton")
    Class B {

  }

并调用 ApplicationContext 的以下方法。

context.getBean("A")

将导致创建新的Abean,但它也会创建一个新的Bbean并注入它或使用现有的Bbean。

标签: javaspring

解决方案


答案是不。因为B是单例范围的。bean的生命周期B总是每个容器一次,无论有多少A's 引用它。


推荐阅读