亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Spring Bean的生命周期全過程

標簽:
Spring

       大家好,我是被编程耽误的文艺Tom。今天能给大家介绍一下Spring Bean生命周期全过程,这道题呢也是大厂高频面试题。接下来我给大家做一个详细的分析和解答。

       Spring生命周期全过程大致分为五个阶段:创建前准备阶段、创建实例阶段、依赖注入阶段、

容器缓存阶段和销毁实例阶段。

       这张图呢展示了Spring Bean生命周期完整流程,其中对每个阶段的具体操作做了详细介绍。下面我们来分析一下每个阶段的细节。

先来看第一阶段。

1、创建前准备阶段 

https://img2.sycdn.imooc.com/6258e4050001739f18250629.jpg


       这个阶段主要是在开始Bean加载之前,从Spring上下文和相关配置中解析并查找Bean有关的配置内容,

       比如`init-method`-容器在初始化bean时调用的方法、`destory-method`,容器在销毁Bean时调用的方法。

以及,BeanFactoryPostProcessor这类的bean加载过程中的前置和后置处理。


这些类或者配置其实是Spring提供给开发者,用来实现Bean加载过程中的扩展机制,在很多和Spring集成的中间件经常使用,比如Dubbo。


2、创建实例阶段

https://img1.sycdn.imooc.com/6258e407000171d418320310.jpg


这个阶段主要是通过反射来创建Bean的实例对象,并且扫描和解析Bean声明的一些属性。


3、依赖注入阶段

https://img1.sycdn.imooc.com/6258e4070001521b18250582.jpg

在这个阶段,会检测被实例化的Bean是否存在其他依赖,如果存在其他依赖,1就需要对这些被依赖Bean进行注入。比如通过读取

`@Autowired`、@Setter等依赖注入的配置。

在这个阶段还会触发一些扩展的调用,比如常见的扩展类:BeanPostProcessors(用来实现Bean初始化前后的回调)、

InitializingBean类(这个类有一个afterPropertiesSet()方法,给属性赋值)、还有BeanFactoryAware等等。

4、容器缓存阶段

https://img3.sycdn.imooc.com/6258e40800014c0918220461.jpg

       容器缓存阶段主要是把Bean保存到IoC容器中缓存起来,到了这个阶段,Bean就可以被开发者使用了。

这个阶段涉及到的操作,常见的有,`init-method`这个属性配置的方法,会在这个阶段调用。

在比如BeanPostProcessors方法中的后置处理器方法如:postProcessAfterInitialization,也是在这个阶段触发的。

5、销毁实例阶段

https://img3.sycdn.imooc.com/6258e408000195fa18170288.jpg

这个阶段,是完成Spring应用上下文关闭时,将销毁Spring上下文中所有的Bean。

如果Bean实现了DisposableBean接口,或者配置了`destory-method`属 性,将会在这个阶段被调用。


看到这里,相信大家对Spring Bean的生命周期有了深刻的印象,需要视频中Spring Bean生

命周期的高清流程图,可以私信我。在附赠一张高清的时序图给大家!

https://img2.sycdn.imooc.com/6258e4090001579923442827.jpg


       我是被编程耽误的文艺Tom,如果大家还有其他疑问,请在评论区留言。如果本次面试对你有帮助,请动动手指一键三连分享给更多的人。关注我,面试不再难! 


       往期视频已经整理成文档形式,需要的小伙伴点个关注,添加下方名片!


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
資深架構師
手記
粉絲
12
獲贊與收藏
25

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消