简述Spring Bean生命周期

Posted 沛沛老爹

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简述Spring Bean生命周期相关的知识,希望对你有一定的参考价值。

前言

在Spring容器里,Bean的完整生命周期比较长。但是我们必须要掌握它。

Bean周期总览

Bean周期总体如下所示。

接下来会简单讲下各个步骤的主要功能。

Bean实例化

必须步骤。
此步骤主要是实例化一个Bean,例如new一个对象。这个步骤主要是设置bean的作用域等操作。

设置属性

必须步骤。
这个主要是按照Spring Context对实例化的Bean进行配置,也就是常说的IOC注入。

setBeanName

非必须。
如果当前Bean已经实现了BeanNameAware接口,会调用它实现的SetBeanName方法。

setBeanFactory

非必须。
如果当前Bean实现了BeanFacoryAware接口,会调用它实现的setBeanFactory方法。

setApplicationContext

非必须。
如果这个 Bean 实现了 ApplicationContextAware 接口,会调用setApplicationContext方法。

初始化预处理

非必须。
如果Bean实现BeanPostProcessor接口,将会调用执行postProcessBeforeInitialization方法。

可以看下项目的拦截器的代码实现

afterPropertiesSet

非必须。
如果bean实现了InitializingBean,则执行afterPropertiesSet,执行属性设置之后的操作

Bean初始化

非必须。
如果 Bean 在 Spring 配置文件中配置了 init-method 属性会自动调用其配置的初始化方法

初始化后处理

非必须。
如果Bean实现BeanPostProcessor接口,将会调用执行postProcessAfterInitialization方法。

以上工作完成以后就可以应用这个 Bean 了

Bean过期自动清理

当 Bean 不再需要时,会经过清理阶段,如果 Bean 实现了DisposableBean 这个接口,会调用那个其实现的 destroy()方法

自定义销毁方法

如果这个 Bean 的 Spring 配置中配置了 destroy-method 属性,会自动调用其配置的销毁方法。

以上就是spring bean的完整生命周期。如果你觉得对你有帮助,可以收藏下,免得下次找不到了。

以上是关于简述Spring Bean生命周期的主要内容,如果未能解决你的问题,请参考以下文章

简述Spring Bean生命周期

spring生成bean对象的生命周期都有哪些种类?

bean生命周期的4个阶段是啥?

springbean的生命周期是啥?

Bean的生命周期

spring bean的生命周期是怎样的,代码示例