L07_Spring 生命周期

导读

在这里插入图片描述

1、BeanFactory 是怎样处理 Bean 生命周期?

BeanFactory 的默认实现为 DefaultListableBeanFactory,其中 Bean生命周期与方法映射如下:

(1) BeanDefinition 注册阶段 - registerBeanDefinition

(2) BeanDefinition 合并阶段 - getMergedBeanDefinition

(3) Bean 实例化前阶段 - resolveBeforeInstantiation InstantiationAwareBeanPostProcessor#postProcessBeforeInstantiation

(4) Bean 实例化阶段 - createBeanInstance

(5) Bean 实例化后阶段 - populateBean InstantiationAwareBeanPostProcessor#postProcessAfterInstantiationhs

(6) Bean 属性赋值前阶段 - populateBean InstantiationAwareBeanPostProcessor#postProcessProperties

(7) Bean 属性赋值阶段 - populateBean

(8) Bean Aware 接口回调阶段 - initializeBean
BeanNameAware 、 BeanClassLoaderAware、 BeanFactoryAware EnvironmentAware、 EmbeddedValueResolverAware 、ResourceLoaderAware ApplicationEventPublisherAware、 MessageSourceAware 、ApplicationContextAware

(9) Bean 初始化前阶段 - initializeBean
BeanPostProcessor#postProcessBeforeInitialization

(10) Bean 初始化阶段 - initializeBean
a. @PostConstruct 标注方法
b. 实现 InitializingBean 接口的 afterPropertiesSet() 方法
c. 自定义初始化方法

(11) Bean 初始化后阶段 - initializeBean
BeanPostProcessor#postProcessAfterInitialization

(12) Bean 初始化完成阶段 - preInstantiateSingletons
SmartInitializingSingleton#afterSingletonsInstantiated

(13) Bean 销毁前阶段 - destroyBean
DestructionAwareBeanPostProcessor#postProcessBeforeDestruction

(14) Bean 销毁阶段 - destroyBean
b.@PreDestroy 标注方法
c.实现 DisposableBean 接口的 destroy() 方法
c.自定义销毁方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值