Spring bean的生命周期

1、Bean生命周期方法,摘自源码BeanFactory注释。

2、对于InstantiationAwareBeanPostProcessor.postProcessBeforeInstinatiion(继承自BeanPostProcessor) 调用,如果返回了Bean就不需要后续处理。

3、BeanPostProcessors是基于bean级别的后置处理器,用于Bean初始化方法(init-method)前后调用。BeanFactory不会自动注册该处理器,只有Application会自动注册该处理器。

4、Spring中还有一个容器级别的后置处理器,BeanFactoryPostProcessor是在Context初始化的时候对全局BeanDefinition的处理,大多数集成Spring框架(Mybatis,Dubbo)基于注解配置,都是使用容器级别的后置处理器来实现BeanDefinition的注册。包括Spring在实现注解配置的时候也是基于容器级别处理器加载。例如:AnnoactionConfgApplicationContext在初始化的时候就会注入,ConfigurationClassPostProcessor(继承自BeanDefinitionRegistryPostProcessor ->BeanFactoryPostProcessor)后置处理器,通过调用后置处理器,解析配置类注解@ComponentScan,(spring boot 解析@SpringBootApplication)来扫描根目录下的Class文件实现BeanDefinition注册。

5、BeanPostProcessors和BeanFactoryPostProcessor的区别:

  • 前者是单个Bean级别,只处理单个Bean,调用的时候Bean已经实例化。
  • 后者是容器级别,处理所有BeanDefinition,动用的时候Bean没有实例化。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值