spring bean 的生命周期

spring bean 的生命周期大致可以分为5个阶段,分别是创建前准备、创建实例化、依赖注入、容器缓存、销毁实例
第一阶段创建前准备,这个阶段的主要作用,bean在开始加载前要从上下文和一些配置中去解析并查找bean有关的扩展实现,比如像init-method,容器在初始化bean的时候会调用的一个方法,destory-method容器在销毁bean的时候会调用的一些方法以及beanFactoryPostProcessor这个一类bean加载过程中的一些前置和后置的一些处理扩展实现,这些类或者配置,其实是spring提供给开发者用来去实现bean加载过程中的一些扩展。在很多的Spring集成的中间。
第二个阶段是创建实例阶段,这个阶段的主要作用是通过反射区创建bean的实例对象,并且会扫描和解析bean声明的一些属性
第三个阶段是依赖注入的阶段,如果被实例化的bean存在依赖其他bean对象的情况,则需要对这些依赖的bean进行对象注入,比如autowired,以及settter注入 这样配置形式,同时在这个阶段会,触发一些扩展的调用比如像常见的beanPostProcessorss,用来去实现bean的初始化前后的扩展回调,以及像beanFactoryAware等
第四个阶段是容器缓存阶段,容器缓存阶段主要是把bean保存到容器以及缓存中,到这个阶段bean就可以使用了,这个阶段涉及到那些操作像常见的init-method,这个属性配置的方法会在这个阶段被调用以及像beanpostProcessor的后置处理器方法也会在这个阶段被触发
第五个阶段销毁实例阶段,当Spring的应用上下问被关闭的时候,那么上下文中的所有bean会被销毁,如果存在bean实现了像DisposableBean接口,或者配置destory-method方法,会在这个阶段被调用

posted on 2022-03-05 12:46  云中哥  阅读(247)  评论(0编辑  收藏  举报

导航