当前位置: 首页 > 面试题库 >

春豆范围。单例和原型

萧远
2023-03-14
问题内容

假设两个类为ClassA和ClassB。假设ClassB依赖于ClassA。在配置文件中,如果将ClassA的范围定义为单例,将ClassB的范围定义为Prototype,那么每次创建ClassA的bean实例时,ClassB的实例会发生什么?每次返回ClassA实例时,将返回相同的ClassB实例还是创建新实例?

谢谢!!!


问题答案:

如果ClassB是原型,则始终创建ClassB的新实例,它在创建时不会处理其他类。

因此,ClassB是原型并且是ClassA单例,在某个时候,您的应用程序中可以有N个ClassB实例,而只有1个ClassA。

在您的情况下,由于在应用程序生命周期中仅存在一个ClassA实例,因此它将只有一个实例ClassB,该实例与应用程序中其他bean引用的任何其他ClassB不同



 类似资料:
  • 本文向大家介绍单例和原型bean范围之间的区别。,包括了单例和原型bean范围之间的区别。的使用技巧和注意事项,需要的朋友参考一下 Spring框架支持五种类型的bean作用域- 辛格尔顿 原型 请求 届会 全球会议 根据春季文件- Singleton-每个Spring IoC容器返回一个bean实例。该单个实例存储在此类单例bean的高速缓存中,并且对该命名bean的所有后续请求和引用都返回该高

  • 我知道这个问题听起来很幼稚,但我对web应用程序中bean的范围感到困惑。我知道,对于每个请求,容器都会生成一个新线程,类似地,对于spring web应用程序,每个请求都会生成一个新线程,那么为什么建议将我的控制器、服务定义为singleton,这些bean的范围不应该是prototype吗,因为每个请求(即线程)都有其自己的控制器实例和要使用的服务。 请开导我。

  • 问题内容: 我有一个名为Bar的类,带有以下注释: 在私人成员上,我具有以下注释: 在春季配置中,我有一个Foo类的bean。如果用它定义的bean 不起作用,则出现以下异常: NoSuchBeanDefinitionException:找不到依赖项为Foo的匹配bean:期望至少有1个有资格作为此依赖项的自动装配候选的bean 一旦我将注入的bean作用域更改为正常工作。 是否自动布线原型作用域

  • 我有一个带有@service和@Scope(“原型”)的服务类。我希望此服务的行为类似于控制器类中的原型。以下是我如何使用它: 以下是服务类别: 我使用自动配置属性运行spring boot。我比较“emailService”对象是否相同,得到的是相同的一个对象。这意味着@Scope(“prototype”)不能像预期的那样与@Service一起工作。你看到这里有什么问题吗?我忘了添加一些代码了吗

  • 问题内容: 有人可以解释spring 注释的用法吗?我 以为 这与会话范围的Bean有关,但是我不太确定是什么。 在作用域的使用中,我使用了没有注解(或没有aop作用域代理)的会话作用域bean ,所以我真的确定如何正确使用它。 问题答案: spring文档的3.4.4.5节对此进行了很好的解释: (请注意,以下“ userPreferences” Bean定义不完整): 从上面的配置中可以明显看

  • 嗯,很可能没有任何谜团,但我只是不够聪明,不知道我的问题是什么。然而,通常它毕竟是谜团! 很抱歉进行介绍,我的问题是原型范围似乎不适合我。我创建了一个带有Spring集成流的REST服务(流前面有一个http入站网关)。大多数bean的作用域都是原型。我通过使用线程调用它十次来测试流。此外,我还记录了bean引用(只需在被调用的对象中打印“this”),并且我看到了十次相同的引用! 据我所知,这意