0
点赞
收藏
分享

微信扫一扫

spring bean的生命周期1

bean的生成过程

  1. spring启动的时候回确定要扫描的包路径,得到beanDefinition的set集合
  2. 和并beanDefinition
  3. 加载类,回去类加载器,优先返回当前线程中的类加载器
  4. 实例化前,beanDefinition加载成功后,开始实例化对象,实例化前,提供了一个扩展点,instantiationAwareBeanPostProcessor.postProcessBeforeInstantiation();
  5. 实例化,根据definition创建一个对象;工厂方法创建对象,推断构造对象
  6. beanDefinition的后置处理,扩展点是 mergedBeanDefinitionPostProcessor.postProcessMergeBeanDefinition();对BeanDefinition进行加工
  7. 实例化后,还有一个扩展点InstantiationAwareBeanPostProcessor.postProcessAfterInstantiation()
  8. 自动注入,spring的自动注入 Autowired
  9. 处理属性,比如@Value就是通过扩展点实现的
  10. 执行aware方法
  11. beanPostProcessor

1.InstantiationAwareBeanPostProcessor.postProcessBeforeInstantiation()
2. 实例化
3. MergedBeanDefinitionPostProcessor.postProcessMergedBeanDefinition()
4. InstantiationAwareBeanPostProcessor.postProcessAfterInstantiation()
5. 自动注入
6. InstantiationAwareBeanPostProcessor.postProcessProperties()
7. Aware对象
8. BeanPostProcessor.postProcessBeforeInitialization()
9. 初始化
10. BeanPostProcessor.postProcessAfterInitialization()

bean的销毁过程

  1. 在Bean创建过程中,在最后(初始化之后),有一个步骤会去判断当前创建的Bean是不是 DisposableBean:决定是否销毁

不恋尘世浮华,不写红尘纷扰



举报

相关推荐

0 条评论