原文网址:Spring--Bean的作用域(scope)--使用/详解_IT利刃出鞘的博客-CSDN博客
简介
本文介绍Spring(SpringBoot)的作用域(scope)及其用法。
技术资料与交流 ==> 分享靠谱资料:Java真实面试题汇总、简历模板、PDF书籍、PPT模板等;分享Java实用技术;帮助优化简历。详见:资料与交流
作用域类型
Spring容器最初提供了两种bean的scope类型:singleton和prototype。Spring2.0以后,又引入了另外四种scope类型:request、session、application和global session,这三种只能在web 应用中才可以使用。
作用域类型 | 适用范围 | 描述 |
singleton | 所有Spring应用 | Spring的默认scope。 在Spring的IoC容器中只存在一个对象实例,所有该对象的引用都共享这个实例。 一般情况下,无状态的bean使用该scope。 |
prototype | 所有Spring应用 | 每次对该bean的请求都会创建一个新的实例。 一般情况下,有状态的bean使用该scope。 |
request | Spring Web应用 | 每次http请求将会有各自的bean实例,类似于prototype。 |
session | Spring Web应用 | 每个http session对应一个bean实例。 |
application | Spring Web应用 | Web工程生命周期。 |
global session | Spring Web应用 | global session作用域类似于标准的HTTP Session作用域,不过它仅仅在基于portlet的web应用中才有意义。如果在非 portlet 环境将视为 session 作用域。 实践中基本用不到。 |
使用场景
scope类型什么时候声明为singleton,何时声明为prototype?
上边只是部分内容,为便于维护,本文已迁移到此地址:Spring-Bean的作用域(scope)-使用/详解 - 自学精灵