北斗草堂记之Bean(应用组件)在Spring容器中的生命周期
本文章为读书笔记,文献参考《Spring in Action 第二版 中文版》。
在Spring中,组件无需自己负责与其他组件的关联。取而代之的是,Spring容器负责表协调组件的应用给予各个组件(简单的说,使用了Spring容器之后,开发者不用自己去new新对象了,容器早就已经new好了该对象,我们直接拿来使用即可)。在基于Spring的应用中,应用组件在Spring范围你是激活的(意思可能是容器未关闭或是未被垃圾收集器收)。容器可以创建组件(new),装配组件(DI),以及管理他们的整个生命周期(从new到finalize)。Spring容器使用DI管理所有组件,Spring容器是Spring框架的核心。Spring容器提供好了多种容器实现,即
Bean工厂(BeanFactory);
应用上下文(ApplicationContext)。
Bean工厂提供了最基本的依赖注入(DI)支持,应用上下文在此基础上扩展了很多功能,提供了系统架构服务。(在我们的项目中一般使用应用上下文的比较多)
关于BeanFactory和ApplicationContext的介绍,读者可以参考《Spring in Action 第二版 中文版》第二章的2.1.1节和2.1.2节。
Bean在Spring Bean工厂中的生命周期如下图所示:
Bean在Spring应用上下文中的生命周期如下图所示:
Bean在Spring应用上下文中的生命周期与在Bean工厂中的生命周期只有一点不同,如上图黑色部分所示。对于这两种生命周期的阐述,在《Spring in Action》中文版和英文版中都是用一个图表进行的简单的陈列,并没有进行详细的介绍,我在网上查找的资料也都跟这个差不多,没有过多介绍。所以对于bean的生命周期的描述还要在以后的工作和学习中逐渐探索才能总结出来。若是想查看图表中的内容请阅读《Spring in Action》中文版或是《Spring in Action》英文版。
未完待续。。。