Spring- Bean的生命周期
2022-05-23 19:45:53 0 举报
Spring- Bean的生命周期 流程图
作者其他创作
大纲/内容
继续实现某些Aware接口的set方法
检查是否是InitalizingBean以决定是否调用afterPostPeriesSet方法
BeanPostProcessor
最后一次修改我们的属性值
aop
invokeAwareMethod
parseDefauleElement
PostProcessBeforeDestruction
createBeanFactory
后续调用才会触发
PrepareBeanFactory
createBean
先从容器中找,找不到再创建
创建容器DefaultListableBeanFactory
Spring Bean的生命周期
执行用户自定义的init - method
supplier
是否配置有自定义的destroy方法
getBean
通过反射的方式创建
创建容器对象obtainFreshBeanFactory
合并
document
invokeInitMethod
给容器工厂设置某些属性
实例化BPP
BeanPostProcessor前置处理
销毁流程
检查是否配置有自定义的init-method
doGetBean
factoryMethod
完成对对象的创建工作
获取对象来进行相关操作
ApplicationAwarePostRrocessor
执行BPP的after方法
使用中
invokeBeanFactoryPostProcessor
finishBeanFactoryInitialization
@PostConstruct@PreDestroy@Resource@Auwowired@Value
contextaop自定义标签
检查Aware相关接口,并设置相关依赖
applyMergedBeanDefinitionPostProcessors
BeanNameAware
是否实现DisposableBean接口
定义好xml文件,Java类之后
加载配置文件loadBeanDefinitions
自定义DestoryMethod
实例化Bean对象
填充属性
完成BeanPostProcessor的注册工作,方便后续在实例化完成之后调用before和after方法
DestructionAwareBeanPostProcessors
DisposableBean
将需要创建的Bean对象放入到数组中,挨个进行创建
doCreateBean
BeanFactoryAware
element
进行初始化工作
Bean
设置某些属性值
是否实现InitializingBean
populateBean
initializeBean
parseCustomElement
BeanClassLoaderAware
......
调用声明周期接口
设置对象属性
ConfigurationClassPostProcessor用来完成对相关注解的解析工作
RootBeanDefinition
创建需要以来的Bean对象
afterPropertiesSet
取出DB
注册必要的Destruction
进行具体的实例化操作
GenericBeanDefinition
registerBeanPostProcessor
步骤同上述
CommonAnnotationBeanPostProcessor
BPP代理的方式
执行BPP的before方法
0 条评论
下一页