Spring中IOC容器的初始化过程总结

总结一下Spring IOC容器的初始化过程,对于具体的源码分析以前写过文档,网上也有很多类似的文章,这里不做重复。

Spring IOC容器初始化过程总得说起来也简单,基本是整个Spring启动的过程。大体流程:

Spring启动 -> 加载配置文件 -> 将配置文件转化成Resource -> 从Resource中解析转换成BeanDefinition -> 主动或则被动触发Bean的初始化过程 -> 应用程序中使用Bean -> 销毁Bean -> 容器关闭。

其实总的流程就这么简单,但是具体实现有很多很多的细节需要处理,讲完就是一本书。这里就是简单总结,所以内容会很少很少。

  1. Spring启动。
  2. 加载配置文件,xml、JavaConfig、注解、其他形式等等,将描述我们自己定义的和Spring内置的定义的Bean加载进来。
  3. 加载完配置文件后将配置文件转化成统一的Resource来处理。
  4. 使用Resource解析将我们定义的一些配置都转化成Spring内部的标识形式:BeanDefinition。
  5. 在低级的容器BeanFactory中,到这里就可以宣告Spring容器初始化完成了,Bean的初始化是在我们使用Bean的时候触发的;在高级的容器ApplicationContext中,会自动触发那些lazy-init=false的单例Bean,让Bean以及依赖的Bean进行初始化的流程,初始化完成Bean之后高级容器也初始化完成了。
  6. 在我们的应用中使用Bean。
  7. Spring容器关闭,销毁各个Bean。

这中间还会有很多其他的工作,对于我们从宏观上来了解Spring的整体没有影响,不做过多阐述。

原文 

http://cxis.me/2020/03/22/Spring中IOC容器的初始化过程总结/

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » Spring中IOC容器的初始化过程总结

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址