第一季:7Spring Bean的作用域之间有什么区别【Java面试题】

本文详细介绍了Spring框架中Bean的五种作用域:singleton、prototype、request、session和global-session,重点讨论了它们的区别和应用场景。singleton是默认作用域,为单例;prototype则在每次请求时创建新实例;request和session作用域分别针对HTTP请求和session,在Web应用中使用;global-session在portlet应用中存在,但Spring5已移除。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一季:7Spring Bean的作用域之间有什么区别【Java面试题】

前言


2022 9/30 13:56

路漫漫其修远兮,吾将上下而求索


本文是根据尚硅谷学习所做笔记

仅供学习交流使用,转载注明出处


推荐

【尚硅谷经典Java面试题第一季(java面试精讲)-哔哩哔哩】

第一季:7Spring Bean的作用域之间有什么区别

题目

Spring Bean的作用域之间有什么区别

2.6 bean的作用域★

在Spring中,可以在< bean>元素的scope属性里设置bean的作用域,以决定这个bean是单实例的还是多实例的。

默认情况下,Spring只为每个在I0C容器里声明的bean创建唯一一个实例,整个IOC容器范围内都能共享该实例:所有后续的getBean()调用和bean引用都将返回这个唯一的bean实例。该作用域被称为singleton,它是所有bean的默认作用域。

0053

1.Spring Bean的作用域之间有什么区别

在Spring的配置文件中,给bean加上scope属性来指定bean的作用域如下:

singleton:默认值。唯一 bean 实例,Spring 中的 bean 默认都是单例的。在IOC容器的创建的时候创建Bean

prototype:原型的,每次请求调用getBean()都会创建一个新的 bean 实例。在IOC容器的创建的时候不会创建Bean

request: 每一次 HTTP 请求都会产生一个新的 bean,该 bean 仅在当前WebApplicationContext内有效。

session:每一次 HTTP 请求都会产生一个新的 bean,不同的HTTP session 使用不用的bean,该 bean 仅在当前WebApplicationContext内有效。

global-session:全局session作用域,仅仅在基于portlet的web应用中才有意义,Spring5已经没有了。Portlet是能够生成语义代码(例如:HTML)片段的小型Java Web插件。它们基于portlet容器,可以像servlet一样处理HTTP请求。但是,与 servlet 不同,每个 portlet 都有不同的会话。

最后


2022 9/30 13:54


p6


Markdown 1123 字数 66 行数
HTML 987 字数 26 段


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

日星月云

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值