IOC课程整理-9

0 总览

1. Spring Bean 元信息配置阶段

2. Spring Bean 元信息解析阶段

3. Spring Bean 注册阶段

4. Spring BeanDefinition 合并阶段

5. Spring Bean Class 加载阶段

6. Spring Bean 实例化前阶段

InstantiationAwareBeanPostProcessor#postProcessBeforeInstantiation 若返回为null,则返回默认的实例对象 若返回不为null,则此对象为最终返回的对象,也就是实例化了一个与配置文件中不同的新的对象

7. Spring Bean 实例化阶段

8. Spring Bean 实例化后阶段

实例化后赋值前的操作

9. Spring Bean 属性赋值前阶段

10. Spring Bean Aware接口回调阶段

11. Spring Bean 初始化前阶段

12. Spring Bean 初始化阶段

13. Spring Bean 初始化后阶段

14. Spring Bean 初始化完成阶段

15. Spring Bean 销毁前阶段

16. Spring Bean 销毁阶段

17. Spring Bean 垃圾收集

18. 面试题

1 BeanPostProcessor 的使用场景有哪些

BeanPostProcessor 提供 Spring Bean 初始化前和初始化后的生命周期回调,分别对应 postProcessBeforeInitialization 以及postProcessAfterInitialization 方法,允许对关心的Bean 进行扩展,甚至是替换。 加分项:其中,ApplicationContext 相关的 Aware 回调也是基于BeanPostProcessor 实现,即 ApplicationContextAwareProcessor

2  BeanFactoryPostProcessor 与BeanPostProcessor 的区别

BeanFactoryPostProcessor 是 Spring BeanFactory(实际为ConfigurableListableBeanFactory) 的后置处理器,用于扩展BeanFactory,或通过 BeanFactory 进行依赖查找和依赖注入。加分项:BeanFactoryPostProcessor 必须有 Spring ApplicationContext 执行,BeanFactory 无法与其直接交互。 而 BeanPostProcessor 则直接与BeanFactory 关联,属于N 对1 的关系

3 BeanFactory 是怎样处理Bean 生命周期

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

• BeanDefinition 注册阶段 - registerBeanDefinition

• BeanDefinition 合并阶段 - getMergedBeanDefinition

• Bean 实例化前阶段 - resolveBeforeInstantiation

• Bean 实例化阶段 - createBeanInstance

• Bean 初始化后阶段 - populateBean

• Bean 属性赋值前阶段 - populateBean

• Bean 属性赋值阶段 - populateBean

• Bean Aware 接口回调阶段 - initializeBean

• Bean 初始化前阶段 - initializeBean

• Bean 初始化阶段 - initializeBean

• Bean 初始化后阶段 - initializeBean

• Bean 初始化完成阶段 - preInstantiateSingletons

• Bean 销毁前阶段 - destroyBean • Bean 销毁阶段 - destroyBean

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值