首页 > 其他分享 >Bean的作用域

Bean的作用域

时间:2023-10-03 12:12:34浏览次数:34  
标签:Session 作用域 Spring 应用程序 Bean 实例

前言

在软件开发中,Bean的作用域指的是对象实例在应用程序中的生命周期和可见范围。在Java中,Bean是指在Spring框架中由Spring容器进行管理的Java对象。常用的Bean的作用域有:Singleton、Prototype、Request、Session、Global Session。

Singleton

单例作用域:在整个应用程序中只有一个Bean实例,由Spring容器负责管理和维护。无论何时请求该Bean,都返回同一个实例。

注意:在Spring框架中,默认使用该作用域。

Prototype

原型作用域(多例作用域):每次请求或依赖注入时,都会创建一个新的Bean实例。每个实例都是独立的,可以有不同的状态。

Request

请求作用域:每个HTTP请求都会创建一个新的Bean实例,适用于Web应用程序。在同一次HTTP请求中,多个组件之间共享同一个实例(仅限于Spring MVC中)。

Session

会话作用域:在同一个HTTP会话中,多个请求之间共享同一个Bean实例,不同会话中的Bean实例是独立的(仅限于Spring MVC中)。

Global Session

全局会话作用域:在多个Portlet间共享一个Bean实例,类似于Session作用域,但作用域范围更大(仅限于Portlet环境)。

总结

作用域的选择取决于应用程序的需求和设计。Singleton作用域适用于需要在整个应用程序范围内共享的对象,而Prototype作用域适用于每次请求或注入时需要创建新的对象的场景。Request和Session作用域通常用于Web应用程序中,用于在请求之间共享数据。。默认情况下,Spring Bean使用Singleton作用域,但在需要时,可以通过在Spring配置文件或注解来指定其他的作用域。

 

标签:Session,作用域,Spring,应用程序,Bean,实例
From: https://www.cnblogs.com/one-xiaoqiang/p/17740946.html

相关文章

  • Spring中Bean的作用域
    当通过spring容器创建一个Bean实例时,不仅可以完成Bean实例的实例化,还可以为Bean指定特定的作用域。Spring支持如下5种作用域:singleton:单例模式,在整个SpringIoC容器中,使用singleton定义的Bean将只有一个实例prototype:原型模式,每次通过容器的getBean方法获取prototype定义的B......
  • 【从0学习Solidity】 5. 变量数据存储和作用域 storage/memory/calldata
    【从0学习Solidity】5.变量数据存储和作用域storage/memory/calldata博主简介:不写代码没饭吃,一名全栈领域的创作者,专注于研究互联网产品的解决方案和技术。熟悉云原生、微服务架构,分享一些项目实战经验以及前沿技术的见解。关注我们的主页,探索全栈开发,期待与您一起在移动开发的......
  • 一文读懂Python中的全局变量局部变量和作用域
    局部变量和全局变量是面试热点通常小白在写代码时,只知道引用变量来应对一些基础的编码问题,当面试官问及局部变量和全局变量的具体细节时,就会一脸懵逼,傻傻分不清楚!其实想要彻底了解局部变量和全局变量的关系,本质是大家需要明白何为作用域!这篇文章会带大家彻底搞懂这三者之的唇齿相依......
  • SpringBoot | Bean生命周期
    欢迎参观我的博客,一个Vue与SpringBoot结合的产物:https://poetize.cn博客:https://gitee.com/littledokey/poetize-vue2.git聊天室:https://gitee.com/littledokey/poetize-im-vue3.git后端:https://gitee.com/littledokey/poetize.git七牛云登录/注册地址(文件服务器,CDN):https:/......
  • 函数(函数的分类及声明和定义,练习题,作用域和生命周期的介绍,static和extern的详细介绍)
    1.函数的概念是一个完成某项任务的一小段代码,包括库函数和自定义函数1.1库函数库函数相关头文件点击查看库函数需要包含头文件1.2自定义函数函数的语法形式形参只有在函数在被调用的过程中为了存放实参传递过来的值,才向内存申请空间,这个过程叫形参的实例化VS中调试时F10,当进入形......
  • 11.变量的作用域
    变量和函数的作用域:'usestrict'functionf(a){vara=1;a=a+1;}a=111111111111111;在Javascript中,var定义变量是有作用域的在函数体中声明,在函数体外是不能用的内部函数可以访问外部函数,反之不行functionf(x){//相当......
  • JS深入学习笔记 - 第三章.变量作用域与内存
    1.原始值和引用值ECMScript变量包含两种不同类型是数据:原始值和引用值。原始值:最简单的数据。有6中原始值:Undefined、Null、Boolean、Number、String和Symbol。原始值是按值访问。引用值:由多个值构成的对象。三大引用类型:1.object2.Array类型3.Function类型。引用值是保存在......
  • 一文彻底搞懂JS作用域
    JavaScript的作用域是一个非常基础且重要的概念,对于初学者来说,经常会觉得有些混乱搞不清楚。本文会详细介绍JavaScript作用域,包括全局作用域、函数作用域和块级作用域,以及ES6+新增的let、const和blockscope等特性,让你彻底搞懂作用域。1.JavaScript作用域简介在JavaScript中,作......
  • netbeans19常用快捷方式
    Ctrl+Shift+1在项目窗口中选中当前文件Ctrl+Shift+2在文件窗口中选中当前文件Ctrl+X在编辑器中删除当前光标所在的行Ctrl+/开关注释Ctrl+Shift+方向上下键向上/下复制当前光标所在行或者选中的多行Alt+Shift+方向上下键向上/下移动当前光标所在行或......
  • [注意事项]复制出错,BeanUtils.copyProperties(c,question);
    问题定位:BeanUtils.copyProperties(c,question);是浅拷贝什么是浅拷贝:只是对主对象,第一层进行拷贝,对于对象中的对象,只是将其对象的引用复制一份,所以对副本对象的改变会影响到主对象。什么是深拷贝:将主对象的所有全部给副对象一份,复制完之后,就完全隔开,互相不影响。浅拷贝,栈......