SpringBean 生命周期
2023-01-12 17:35:52 0 举报
AI智能生成
登录查看完整内容
SpringBean生命周期
作者其他创作
大纲/内容
XML
Properties
资源
注解
API
元信息配置
BeanDefinitionReader
XML解析器
面向资源
AnnotatedBeanDefinitionReader
面向注解
元信息解析
元信息阶段
BeanDefinitionRegistry
BeanDefinition注册接口
Spring Bean注册
当前BeanFactory查找
层次性BeanFactory查找
父子BeanDefinition合并
Spring BeanDefinition合并阶段 doGetBean
ClassLoader类加载
Java Security安全加载控制
ConfigurableBeanFactory临时ClassLoader
参考
Class加载阶段 createBean
Give BeanPostProcessors a chance to return a proxy instead of the target bean instance.
InstantiationAwareBeanPostProcessor#postProcessBeforeInstantation
Bean实例化前阶段 createBean
实例化策略 - InstantiationStrategy
传统
构造器
Bean实例化
InstatiationAwareBeanPostProcessor#postProcessAfterInstantiation
填充Bean
Bean实例化之后 populateBean
赋值给bw
InstantiationAwareBeanPostProcessor#postProcessProperties
Bean属性赋值前阶段 populateBean
实例化阶段 doCreateBean
BeanNameAware
BeanClassLoaderAware
BeanFactoryAware
invokeAwareMethods
接口回调阶段
postProcessBeforeInitialization
ApplicationContextAwareProcessor
InitDestroyAnnotationBeanPostProcessor#postProcessBeforeInitialization
PostContruct注解
applyBeanPostProcessorsBeforeInitialization
afterPropertiesSet
invokeCustomInitMethod
如果实现InitializingBean
postProcessAfterInitialization
applyBeanPostProcessorsAfterInitialization
初始化阶段 initializeBean
BeanFactory显示回调
afterSingletonsInstantiated
通常在ApplicationContext场景使用
将极硬注册的 BeanDefinition初始化成Bean
SmartInitializingSingleton
初始化完成阶段
PreDestroy
postProcessBeforeDestruction
DestructionAwareBeanPostProcessor
Destory
DispoableBean
customDestoryMethod
销毁阶段
GC阶段
什么是Spring Bean的生命周期
总揽
Spring Aware
扩展BeanFactory
AbstractApplicationContext.refresh()
BeanFactoryPostProcessor
在这个bean的生命周期里进行回调等操作
实例化前、后
初始化前、后
ApplicationContextAware接口回调也是基于此
BeanPostProcessor
SpringBean 生命周期
收藏
收藏
0 条评论
回复 删除
下一页