《Spring Framework实战》13:4.1.4.4.延迟初始化Bean

ops/2025/1/12 16:21:28/
欢迎观看《Spring Framework实战》视频教程

        1. 延迟初始化Bean

默认情况下,ApplicationContext实现在初始化过程中急切地创建和配置所有单例bean。通常,这种预实例化是可取的,因为配置或周围环境中的错误会立即被发现,而不是在几小时甚至几天后。当这种行为不可取时,您可以通过将bean定义标记为延迟初始化来防止单例bean的预实例化。lazy初始化的bean告诉IoC容器在第一次请求时创建bean实例,而不是在启动时。

此行为由@Lazy注释或XML中<bean/>元素上的Lazy init属性控制,如下例所示:

XML

<bean id="lazy" class="com.something.ExpensiveToCreateBean" lazy-init="true"/>

<bean name="notLazy" class="com.something.AnotherBean"/>

当前面的配置被ApplicationContext使用时,在ApplicationContext启动时,惰性bean不会被急切地预实例化,而非惰性bean则会被急切地预先实例化。

但是,当一个延迟初始化的bean是一个未延迟初始化的单例bean的依赖项时,ApplicationContext会在启动时创建延迟初始化的bean,因为它必须满足单例的依赖项。懒惰初始化的bean被注入到其他未进行懒惰初始化的单例bean中。

您还可以通过在@Configuration注释类上使用@lazy注释,或在XML中使用<beans/>元素上的默认lazy init属性,来控制一组bean的延迟初始化,如下例所示:

XML

<beans default-lazy-init="true">

<!-- No bean will be pre-instantiated... -->

</beans>


http://www.ppmy.cn/ops/149497.html

相关文章

Docker Desktop 构建java8基础镜像jdk安装配置失效解决

Docker Desktop 构建java8基础镜像jdk安装配置失效解决 文章目录 1.问题2.解决方法3.总结 1.问题 之前的好几篇文章中分享了在Linux(centOs上)和windows10上使用docker和docker Desktop环境构建java8的最小jre基础镜像&#xff0c;前几天我使用Docker Desktop环境重新构建了一个…

关于ReLU激活函数的解释以及其在神经网络中的应用

ReLU&#xff08;Rectified Linear Unit&#xff0c;修正线性单元&#xff09;是一种常用的激活函数&#xff0c;广泛应用于神经网络中&#xff0c;特别是深度学习中。它的定义非常简单且直观。ReLU的公式如下&#xff1a; f(x)max⁡(0,x)f(x) \max(0, x) 这意味着&#xff…

MySQL 子查询(重在练习)

第九章: 子查询 1.子查询的需求分析和问题解决 1.1基本使用 子查询(内查询)在主查询之前一次执行完成 子查询的结果被主查询(外查询)调用 注意事项 子查询要包含在括号内 将子查询放在比较条件的右侧 单行操作符对应单行子查询,多行操作符对应多行子查询 1.2子查询的分类…

SQL进阶实战技巧:如何计算RFM模型?

目录 1RFM模型计算方法 2 数据准备 3 问题分析 第一步:计算Recency 第二步:计算Frequency 第

【机器学习:七、分类问题】

机器学习中的分类问题 分类问题简介 分类问题是机器学习中的核心任务之一&#xff0c;其目标是根据输入数据预测其所属的类别。通过分类算法&#xff0c;计算机可以自动学习输入特征与标签之间的关系&#xff0c;并将未知数据分类到特定的类别中。分类问题广泛应用于文本分类…

cv2.imwrite保存的图像是全黑的

1.保存&#xff0c;全黑的图像 cv2.imwrite(img/test.jpg, imutils.resize(enhancedImg, height151,width240)) 2.原因分析 3.原本image是0-255的数值&#xff0c;现在标准化了&#xff0c;全都是0-1之间的数值&#xff0c;还原&#xff0c;乘以255&#xff0c;图片输出正常。 …

网络安全学习记录

没有网络安全,就没有国家安全 网络安全等级保护:技术要求与管理要求 技术要求:(1)安全物理环境(2)安全通信环境(3)安全区域边界(4)安全计算环境(5)安全管理中心 管理要求:(1)安全管理制度(2)安全管理机构(3)安全人员管理(4)安全建设管理(5)安全运维管理 计算机信息系统面临的…

【Uniapp-Vue3】表单focus和blue事件的用法

focus就是input框聚焦时触发&#xff0c;blue就是input框失去焦点时触发。 分别用focus和blue触发事件。 下面这个例子中&#xff0c;就用focus和blur来改变Image的class样式。 触发函数时可以设置参数来获取输入框的值&#xff1a; 获取输入框的值就是e.detail.value 该案…