第二章 IoC Bean的初始化与延迟加载

简介: <p style="margin-bottom:0cm">在默认情况下,<span style="font-family:Times New Roman,serif">Spring</span>的<span style="font-family:Times New Roman,serif">ApplicationContext</span>容器在启动的时候,会自动实例化所有<span st

在默认情况下,SpringApplicationContext容器在启动的时候,会自动实例化所有singletonBean并缓存在容器中。虽然启动时会花费一些时间,但带来两个好处:

1、对Bean提前实例化操作会及早发现一些潜在的配置问题;

2Bean以缓存的方式保存,当运行期使用到该Bean的时候无需再实例化,加快运行的效率。

如果用户不希望容器启动的时候提前实例化singletonBean,可以通过lazy-init属性进行控制:

<bean id="userDao" class="cn.framelife.spring.dao.impl.UserDaoImpl" scope="singleton" lazy-init="true"></bean>

也可以在beans标签中使用default-lazy-init对所有的singletonBean进行延迟加载:

<beans
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:p="http://www.springframework.org/schema/p"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"
	default-lazy-init="true">

被设置为延迟加载的Bean在某些情况下依旧会提前实例化:如果这个Bean被其它需要提前实例化的Bean引用到,那么Spring也将忽略延迟加载设置。

一般我们不做延迟加载。


目录
相关文章
|
5月前
|
XML druid Java
Spring5系列学习文章分享---第二篇(IOC的bean管理factory+Bean作用域与生命周期+自动装配+基于注解管理+外部属性管理之druid)
Spring5系列学习文章分享---第二篇(IOC的bean管理factory+Bean作用域与生命周期+自动装配+基于注解管理+外部属性管理之druid)
60 0
|
4月前
|
安全 Java Spring
Spring问题之如何配置Bean的初始化方法和销毁方法
Spring问题之如何配置Bean的初始化方法和销毁方法
|
5月前
|
Java Spring 容器
解读spring5源码中实例化单例bean的调用链
解读spring5源码中实例化单例bean的调用链
|
11月前
|
Java Spring
Spring中那些BeanPostProcessor在Bean实例化过程中的作用
Spring中那些BeanPostProcessor在Bean实例化过程中的作用
158 1
|
6月前
|
XML Java 数据格式
Spring框架学习 -- Bean的生命周期和作用域
Spring框架学习 -- Bean的生命周期和作用域
53 2
|
6月前
|
XML Java 数据格式
spring-bean配置信息重用(继承)和bean创建顺序是什么以及bean 对象的单例和多例讲解
spring-bean配置信息重用(继承)和bean创建顺序是什么以及bean 对象的单例和多例讲解
68 0
|
Java 数据安全/隐私保护 Spring
Spring中实例化Bean的三种方式及作用范围和生命周期
Spring中实例化Bean的三种方式及作用范围和生命周期
|
XML Java 数据格式
Sping5学习(四):IOC操作Bean管理 之 基于注解方式的对象创建
Sping5学习(四):IOC操作Bean管理 之 基于注解方式的对象创建
Sping5学习(四):IOC操作Bean管理 之 基于注解方式的对象创建
|
存储 Java Spring
Spring之Bean的生命周期源码解析(三 Bean的创建与销毁)
Spring之Bean的生命周期源码解析(三 Bean的创建与销毁)
231 0
|
Java 容器 Spring
【Spring 源码学习系列】Bean 的生命周期之初始化与销毁
本文将结合一个简单案例,学习 Bean 生命周期中的初始化和销毁阶段的具体内容。
300 0
【Spring 源码学习系列】Bean 的生命周期之初始化与销毁