SpringBean的生命周期
2025-07-17 15:15:42 0 举报
SpringBean的生命周期是一个从创建到销毁的过程,涉及多个阶段,涵盖了从实例化、属性赋值、初始化、到最终销毁的完整路径。在核心内容上,这一生命周期主要由一系列的回调函数和配置接口组成,包括但不限于`BeanFactoryPostProcessor`、`BeanPostProcessor`、`InitializingBean`和`DisposableBean`接口。 具体来说,Bean的生命周期从`BeanFactory`对其配置信息的读取开始,进而进行Bean实例的创建,此时可利用`BeanFactoryPostProcessor`进行配置元数据的修改。随后,Spring将通过反射设置对象属性,调用相应的`BeanPostProcessor.postProcessBeforeInitialization`方法。在此之后,会调用`InitializingBean.afterPropertiesSet`方法进行初始化处理,或者执行在配置中指定的初始化方法。 完成了初始化之后,Bean进入了可用状态,可服务于应用程序的其他部分。当容器关闭时,将调用`DisposableBean.destroy`方法,或执行配置中指定的销毁方法,以进行资源清理。 该生命周期文件类型通常体现在Spring配置文件(.xml)或是通过注解和Java配置类来定义。描述修饰语涉及生命周期时,常使用“完整”、“阶段性的”、“可控的”等,表明SpringBean生命周期管理的细致和灵活性。
作者其他创作
大纲/内容
初始化之前调用:BeanPostProcessor接口中的postProcessBeforeDefination()方法,进行初始化之前的一些处理
设置BeanId:调用BeanNameAware接口的setBeanName()方法设置BeanId
初始化
初始化阶段,如果配置init-method属性,会默认调用该方法,进行初始化
如果配置了destory-method方法,会调用该方法进行销毁实例
当Bean不再被使用时,会调用destory()方法销毁实例
End
使用阶段
设置属性
调用ApplicationContextAware接口的setApplicationContext()方法,跟BeanFactoryAware接口的作用类似,但ApplicationContextAware是子接口,可以实现更多的接口
调用BeanFactoryAware接口的setBeanFactory()方法进行属性的设置
初始化之后调用:BeanPostProcessor接口中的postProcessAfterDefination()方法
使用中
Start
Spring上下文会对实例化对象进行配置(IOC注入)
销毁阶段
我们把Bean从Spring中创建开始,到销毁结束,这一过程成为Bean在Spring中的生命周期,主要分为以下几个大的阶段:
就是new一个对象
实例化
0 条评论
下一页