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

请问Spring中Bean的作用域有哪些?

荀学文
2023-03-14
本文向大家介绍请问Spring中Bean的作用域有哪些?相关面试题,主要包含被问及请问Spring中Bean的作用域有哪些?时的应答技巧和注意事项,需要的朋友参考一下

考察点:框架

参考回答:

在Spring的早期版本中,仅有两个作用域:singleton和prototype,前者表示Bean以单例的方式存在;后者表示每次从容器中调用Bean时,都会返回一个新的实例,prototype通常翻译为原型。

设计模式中的创建型模式中也有一个原型模式,原型模式也是一个常用的模式,例如做一个室内设计软件,所有的素材都在工具箱中,而每次从工具箱中取出的都是素材对象的一个原型,可以通过对象克隆来实现原型模式。Spring 2.x中针对WebApplicationContext新增了3个作用域,分别是:request(每次HTTP请求都会创建一个新的Bean)、session(同一个HttpSession共享同一个Bean,不同的HttpSession使用不同的Bean)和globalSession(同一个全局Session共享一个Bean)。

单例模式和原型模式都是重要的设计模式。一般情况下,无状态或状态不可变的类适合使用单例模式。在传统开发中,由于DAO持有Connection这个非线程安全对象因而没有使用单例模式;但在Spring环境下,所有DAO类对可以采用单例模式,因为Spring利用AOP和Java API中的ThreadLocal对非线程安全的对象进行了特殊处理。

 类似资料:
  • 我有一个Spring应用程序,它根据请求上下文注入某些bean。在这个例子中,它是Facebook bean。 此代码将正常运行,但偶尔会出现以下错误: 2017-02-09 01:39:59.133错误40802-[o-auto-1-exec-2]o.a.c.c.c.[/]。[dispatcherServlet]:Servlet。路径为[]的上下文中servlet[dispatcherServl

  • 主要内容:singleton,prototype默认情况下,所有的 Spring Bean 都是单例的,也就是说在整个 Spring 应用中, Bean 的实例只有一个。 我们可以在 <bean> 元素中添加 scope 属性来配置 Spring Bean 的作用范围。例如,如果每次获取 Bean 时,都需要一个新的 Bean 实例,那么应该将 Bean 的 scope 属性定义为 prototype,如果 Spring 需要每次都返回一个相同

  • 我也想知道它是怎么装的..???加载应用程序时是否会初始化所有bean?? 谢谢...!!

  • 在我的Spring Boot应用程序中,我有一个调度器任务,每隔一小时执行一次。在调度器方法中尝试访问请求作用域bean。总是获取异常org.springframework.beans.factory.BeanCreationException。 下面是代码示例。 会有帮助的..谢了。

  • 本文向大家介绍JSP 中Spring Bean 的作用域详解,包括了JSP 中Spring Bean 的作用域详解的使用技巧和注意事项,需要的朋友参考一下 JSP 中Spring Bean 的作用域详解 Bean元素有一个scope属性,用于定义Bean的作用域,该属性有如下五个值: 1>singleton: 单例模式,在整个spring IOC容器中,单例模式作用域的Bean都将只生成一个实例。

  • Spring框架中session和globalSession的区别是什么? 根据我的研究,这两者在Web感知的Spring ApplicationContext上下文中都是有效的。