美文网首页
Spring - Bean生命周期与扩展机制

Spring - Bean生命周期与扩展机制

作者: 沐兮_d64c | 来源:发表于2021-03-11 16:57 被阅读0次

1,Spring Bean生命周期

1)生命周期4个阶段实例化->属性赋值->初始化->销毁
doCreateBean完成:实例化、属性赋值、初始化

image.png
2)Bean销毁阶段容器关闭时调用
image.png
3)Bean的实例化
使用反射创建bean对象
image.png
4)Bean的属性赋值
image.png
image.png
5)Bean的初始化
image.png
image.png

2,Spring扩展点

1)BeanPostProcessor切入到多个Bean的生命周期中,如自动注入和AOP等实现
Spring提前初始化所有的BeanPostProcesser 根据PriorityOrdered和Ordered控制顺序

image.png
InstantiationAwareBeanPostProcessor在bean实例化前后增加处理
image.png
2)Aware接口如果bean实现了Aware接口,则可以从spring容器中获取对应的资源
BeanNameAware:回调setBeanName方法,获取bean的名称
BeanClassLoaderAware:回调setBeanClassLoader方法,获取bean的ClassLoader
BeanFactoryAware:回调setBeanFactory方法,获取BeanFactory容器
EnvironmentAware:用于获取Environment
ApplicationContextAware:用于获取ApplicationContext应用上下文
3)InitializingBean
Spring会在bean初始化时调用init方法
image.png
调用实现InitializingBean的afterPropertiesSet方法
image.png
调用使用xml配置init-method="init"或者使用@PostConstruct指定方法

3,生命周期过程图

Spring Bean实例化、属性赋值、初始化过程

image.png

相关文章

网友评论

      本文标题:Spring - Bean生命周期与扩展机制

      本文链接:https://www.haomeiwen.com/subject/vzbnqltx.html