Spring中Bean的作用域

Spring Bean作用域全面解析 Spring框架中的Bean作用域(Scope)定义了Bean实例的生命周期和可见范围。合理选择作用域是设计Spring应用的重要环节,直接影响应用的性能、线程安全性和内存管理。Spring提供了六种标准作用域,其中四种仅在Web应用中可用:特点:配置方式: 线程安全性:特点:配置示例: 内存管理:特点:配置方式: 代理模式:特点:典型应用: 5. 应用(Application) - Web作用域 特点:使用场景: 6. WebSocket - Web作用域 特点:配置示例: 阅读详情
Bean的作用域

Bean的作用域定义了Bean的生命周期,在Spring中,一共定义了5种作用域,分别是singleton、prototype、request、session和globalSession。其中,后3种仅对Web应用程序有效。

Singleton作用域
如果不指定scope,默认值即为scope="singleton"。spring的IoC容器仅为每个Bean创建一个实例并保持Bean的引用。也就是说,每次调用getBean()方法请求某一个Bean时,Spring总是返回相同的Bean实例。(即Spring IoC容器只会创建该bean的唯一一个实例,这也是默认的。该实例就会一直放在缓存里供大家使用。)
代码:
<bean id="date" class="java.util.Date"></bean>
或
<bean id="date" class="java.util.Date" scope="singleton"></bean>

Prototype作用域
prototype即原型,指每次向Spring容器请求获取Bean(将其注入到另一个bean中,或者以程序的方式调用容器的getBean()方法)都返回一个全新的Bean,相对于“singleton”来说就是不缓存Bean,每次都是一个根据Bean定义创建的全新Bean。
代码:
<bean id="date" class="java.util.Date" scope="prototype"></bean>
对于prototype作用域的bean,有一点非常重要,那就是Spring不能对一个prototype bean的整个生命周期负责:容器在初始化、配置、装饰或者是装配完一个prototype实例后,将它交给客户端,随后就不会对该prototype实例进行跟踪引用了。所以,无法对prototype作用域的Bean定义destroy-method,不过仍可以定义init-method。

request作用域
表示每个请求需要容器创建一个全新Bean。比如提交表单的数据必须是对每次请求新建一个Bean来保持这些表单数据,请求结束释放这些数据。

session作用域
表示每个会话需要容器创建一个全新Bean。比如对于每个用户一般会有一个会话,该用户的用户信息需要存储到会话中,此时可以将该Bean配置为web作用域。

globalSession
类似于session作用域,只是其用于portlet环境的web应用。如果在非portlet环境将视为session作用域。
【Spring】— Spring中Bean的配置、作用域 singleton是Spring容器默认的作用域,当Bean的作用域为singleton时,Spring容器就只会存在一个共享的Bean实例,并且所有对Bean的请求,只要id与该Bean的id属性相匹配,就会返回同一个Bean的实例。在Spring中,XML配置文件的根元素是beans,beans中可以包含多个bean子元素,每一个bean子元素定义了一个Bean,并描述了该Bean如何被装配到Spring容器中。从中可以看出,两次输出的结果相同,这说明Spring容器只创建了一个Scope类的实例。 阅读详情

相关推荐

深入MoveIt与OMPL集成开发:从源码编译到自定义规划算法实战

本文详细介绍了如何从源码编译集成MoveIt与OMPL,并实现自定义规划算法的完整流程。通过清理环境、获取源码、解决编译依赖与错误,最终指导开发者创建并集成名为MyRRT的自定义规划算法,从而实现对机器人运动规划栈的深度定制与优化。

h0i1j2k3l的博客 467

再谈Spring(一):Bean的作用域

(尊重劳动成果,转载请注明出处:https://yangwenqiang.blog.youkuaiyun.com/article/details/91477092冷血之心的博客) 今天准备开始一个Spring系列文章,主要记录一些学习和使用Spring过程中遇到的小知识,所以我起了《再谈Spring》的名字。 Spring是一个轻量级的IOC和AOP容器框架。是为Java应用程序提供基础性服务的一套框架,目...

冷血之心的博客 2737

S7-200 SMART Modbus RTU从站配置与调试实战指南

本文提供了一份详细的S7-200 SMART PLC配置为Modbus RTU从站的实战指南。内容涵盖从硬件基础、软件准备、指令库调用、核心编程到地址映射与调试排错的完整流程。重点解析了MBUS_INIT与MBUS_SLAVE指令的关键参数配置,并深入探讨了Modbus地址与PLC内部V存储区的对应关系,帮助工程师快速打通通讯链路,实现与上位机、触摸屏等主站设备的稳定数据交互。

potato的博客 752

Spring 框架中 Bean 的 6 种作用域!

在Spring中,那些组成应用程序的主体由Spring IoC容器所管理的对象,被称之为bean。简单地讲,bean就是由IoC容器初始化、装配及管理的对象。在中,总共定义了6种bean的作用域,其中有4种作用域只有当应用为web应用的时候才有效,并且Spring还支持自定义作用域。

Z99263的博客 3071

脑电分析中的频谱特征提取 —— 从理论到实践

本文系统介绍了脑电信号(EEG)频谱特征提取方法及其应用。EEG信号通过频谱分析可分为Delta、Theta、Alpha、Beta和Gamma等具有明确生理意义的频段。文章详细讲解了功率谱密度、频带功率、相对功率、频谱熵等关键特征的计算方法,并提供了Python实现示例,包括模拟数据和真实CHB-MIT癫痫数据集的处理流程。这些频谱特征在脑机接口、情绪识别、疲劳监测和癫痫检测等领域具有重要应用价值。文章强调频谱特征结合时域和非线性特征可提升分析效果,为EEG研究提供了实用指导。

qq_32516809的博客 1441

基于Freertos与lwip移植FreeModbusTcp协议

基于FreeRTOS的N32G457VEL7之LWIP网络协议栈移植-优快云博客。

Dd_456456的博客 3238

Spring - Bean的6种作用域

程序中变量的可用范围就叫做作用域,或者说在源代码中定义某个变量在某个区域就叫做作用域。而Bean的作用域是指Bean在Spring整个框架中的某种行为模式,比如singleton单例作用域,就表示Bean在spring中只有一份,全局共享的,当A修改了这个值后,那么B再使用时就是修改后的值。

Original0的博客 2107

碳纳米管NRAM:突破5纳米制程的下一代存储技术

在半导体存储领域,非易失性存储器和随机存取存储器是两大基础技术方向。传统DRAM速度快但断电易失,NAND Flash非易失但写入慢、寿命有限,两者在先进制程下都面临物理极限挑战。碳纳米管作为一种新型纳米材料,凭借其优异的导电性、机械强度和尺寸微缩潜力,为存储技术革新提供了物理基础。基于碳纳米管的NRAM技术,通过控制纳米管间的可逆接触实现电阻状态切换,兼具DRAM级速度和Flash的非易失性,同时具备近乎无限的擦写寿命和出色的CMOS工艺兼容性。这项技术不仅能满足5纳米以下制程的存储需求,在数据中心缓存、

weixin_42576804的博客 427

Spring Bean的作用域以及注解使用

点击上方 Java学习之道,选择 设为星标每天12点,干货准时奉上!Spring Bean的作用域Spring Bean 的作用域即为对象的作用范围。Spring Bean的作用域由配置项...

Java学习之道 4972

RTAB-MAP实战:用Realsense D435i在ROS中搭建室内3D地图(附避坑指南)

本文详细介绍了如何在ROS环境下,使用Intel Realsense D435i深度相机和RTAB-MAP算法进行室内3D地图构建的完整实战流程。内容涵盖环境配置、核心节点数据流解析、关键参数调优、地图保存与重定位,并提供了实用的避坑指南,帮助机器人开发者和研究者快速实现稳定的视觉SLAM应用。

weixin_29095049的博客 490

FPGA数字下变频实战:用Vivado DDS IP核实现IQ采样与频率校正(附MATLAB仿真对比)

本文提供了一份基于Vivado DDS IP核实现FPGA数字下变频(DDC)的完整工程指南。详细阐述了IQ采样的原理、DDC链路构建、DDS频率校正的工程实现,并重点介绍了如何利用MATLAB搭建黄金参考模型进行全链路仿真与对比验证,分享了关键的调试技巧与性能优化建议。

t1u2v的博客 810

Spring中bean的作用域

Bean简介:    在Spring中,那些组成你应用程序的主体(backbone)及由Spring IoC容器所管理的对象,被称之为bean。 简单地讲,bean就是由Spring容器初始化、装配及管理的对象,除此之外,bean就与应用程序中的其他对象没有什么区别了。 而bean定义以及bean相互间的依赖关系将通过配置元数据来描述。Bean的作用域创建一个bean定义,其实质是

fengruifang的专栏 3万+

OpenCV和Halcon分别实现彩色图像的白平衡效果

实现白平衡算法中的灰度世界法,能有效改善图像发红/发蓝/发绿的现象 1、OpenCV #include <opencv2/opencv.hpp> using namespace cv; int main() { Mat g_srcImage,dstImage; vector<Mat> g_vChannels; g_srcImage = im...

$firecat利白的代码足迹$ 2829

Spring Bean的作用域

Spring Bean 的作用域决定了 Bean 的生命周期和可见性。单例(Singleton)全局唯一:在整个应用程序中只有一个实例。默认作用域:如果未指定作用域,默认情况下 Bean 的作用域为 Singleton。原型(Prototype)每次请求新建:每次请求都会创建一个新的实例。线程安全:每个线程都有自己的实例。请求范围(Request Scope)每次请求新建:每个 HTTP 请求都会创建一个新的实例。适用场景:适用于需要在每个 HTTP 请求中创建新实例的场景。

yuehua00的专栏 1641

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

java中bean的作用域有哪些_Spring中Bean的作用域

本节先简单介绍了 Spring 中 bean 的 5 种作用域,然后详细介绍 singleton 和 prototype 这两种最常用的作用域。作用域的种类Spring 容器在初始化一个 Bean 的实例时,同时会指定该实例的作用域。Spring3 为 Bean 定义了五种作用域,具体如下。1)singleton单例模式,使用 singleton 定义的 Bean 在 Spring 容器中只有一个...

weixin_35106801的博客 2169

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Spring Bean 的作用域

Bean 作用域定义了 Bean 在 Spring 容器中的生命周期和可见范围。不同的作用域决定了 Bean 的创建时机、存储位置和销毁时机。Spring 提供了几种常用的 Bean 作用域,每种作用域都有其特定的使用场景。除了上述内置作用域外,Spring 还允许开发者定义自定义作用域。自定义作用域需要实现Scope接口,并注册到 Spring 容器中。

FireFox1997 1630

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Spring Bean 作用域

常见的 4 种作用域 Spring Bean 的默认作用域是 Singleton。一般通过注解 @Scope 自定义Bean的作用域。 Singleton 整个应用中,只创建一个实例。(默认) ConfigurableBeanFactory.SCOPE_SINGLETON Prototype 每次注入或通过Spring Application Context 获取时,都...

一个被IT搞的 1268

关于spring中Bean的四种作用域

Bean的作用域 在Spring中,那些组成应用程序的主体及由Spring IoC容器所管理的对象,被称之为bean。简单地讲,bean就是由IoC容器初始化、装配及管理的对象 准备工作 新建User类 public class User { private String name; private int age; public User() { } public User(String name, int age) { this.nam

qq_40631968的博客 1714

Spring中的Bean作用域有哪些

Spring中的BeanScope决定了容器在何时创建一个新的Bean实例以及何时重用现有实例。这对于控制应用程序中各个Bean的生命周期和状态非常重要。

2301_76166241的博客 1369

Spring 当中的Bean 作用域

</entry>

2501_92589102的博客 963

Spring bean的作用域详解

Spring bean的作用域详解!

weixin_68093610的博客 1501

Spring Bean作用域

在JavaSE中,作用域就是指一个变量可生效的范围. 就比如一个变量的作用域是方法的代码块的范围,只在方法内部生效.

欢迎来到我的博客,在这里我会用我的方式来讲解知识,请大家多多关照 862
上一篇: Spring中Bean的作用域
下一篇: 用VTD-XML解析XML
HingKwan
博客等级 码龄17年 51粉丝 86原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值