参考:https://www.cnblogs.com/dreampig/p/9368086.html
spring中的bean的生命周期 可以分为一下几个阶段:
- 实例化阶段 就是我们常说的new 的阶段 把对象new出来。注入到ioc容器中。
- 第二个阶段是 初始化阶段,这个阶段有点长 会调用一系列的方法。
按照Spring上下文对实例化的Bean进行配置,也就是DI依赖注入
还是初始化的阶段,此时假如我们的bean 实现了不同的aware接口,进行方法的增强。第一个是beanNaemAware接口,就是 给我们的bean进行setBeanName spring 会调用我们重写的setBaneName方法进行setBeanName 假如默认的话,会采用类名首字母小写的方式,进行set
假如我们的bean实现了beanFactoryAware接口,此时Spring会向我们的当前bean 进行setBeanFactory 对象,这样我们就可以通过BeanFactory对象操作其他的对象。
假如我们的对象实现了ApplicationAware接口,spring会向我们的bean中注入application 对象 applicationContext对象是 BeanFactory的子类 方法更加丰富
当对应的Aware执行完毕,
这是就会执行 对应beanpostprocessor(spring中的后置处理器)中的初始化方法,beforef方法
beanpostprocessor中还有一个 after 方法是在这个bean初始化完毕后进行调用的方法,这时候bean就是ioc中真正的bean对象可以进行缓存处理
调用before方法之后,会调用@PostConstrut 中的初始化方法,接着就是对应的就是 init-method中的方法
后面就是after方法了
这个整个阶段就是bean初始化阶段,
3.下面就是bean 的生命周期的第三个阶段 销毁阶段
@Detory注解的方法
detory-metho中的方法
spring自带的销毁方法
java进行垃圾回收
本文详细解析了Spring框架中Bean的生命周期,包括实例化、初始化和销毁三个主要阶段。阐述了如何利用Spring的后置处理器、Aware接口及注解进行Bean的配置与管理。

被折叠的 条评论
为什么被折叠?



