Spring Bean的生命周期

本文详细介绍了Spring框架中Bean的生命周期,包括Bean从实例化到销毁的全过程,以及如何通过init-method和destroy-method来定制初始化和销毁的方法。还讨论了单例和原型作用域下Spring对Bean的不同管理方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

bean的生命周期


1、创建应用上下文时会将xml文件中声明的bean全部实例化,放在内存容器中。可以使用lazy-init=true来设置当使用到该bean时才实例化bean

spring bean在  ApplicationContext context =  new ClassPathXmlApplicationContext("foo.xml");


2、spring将值和bean的引用注入进bean对应的属性中;


3、将bean的id传递给setBeanName(),

4、将beanFactory容器实例传入setBeanFactory(),

5、将应用上下文的引用传入setBeanApplicationContext()

6、bean准备就绪,可以被应用程序使用,将一直驻留在应用上下文中,直到该应用上下文被销毁


bean的初始化和销毁

为bean定义初始化和销毁操作,只需要使用init-method,destory-method参数来配置<bean>元素。

<bean id="audit" class="com.zju.shine.Audit" init-method="init" destory-method="destory" />


ApplicationContext容器会预装入所有的单例bean,确保需要的时候单例bean都已经准备好了,这样我们的应用就不需要等待这些单例bean被创建。

 如果在bean配置中指定bean的作用范围scope="prototype"(非单例模式,每次调用都产生一个新的bean),会将bean返回给调用者,调用者负责bean后续生命周期的管理,spring不再管理这些bean的生命周期。

如果作用范围为scope="singleton"(单例模式,每次调用的是同一个bean),则将bean放入Spring的Ioc容器的缓存池中,并将bean引用返回给调用者,Spring继续对这些bean进行后续的生命周期管理


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值