参与Bean的生命周期

参与Bean的生命周期

Spring容器是个神奇的魔法师。瞧!我们把写好的类和配置文件放进Spring容器里,Spring容器就能变出各种各样的Bean。之后,各种各样的Bean存在Spring容器里,相互依赖,彼此合作,又构成一个繁忙的应用程序,处理着来自远方的各种请求;直到应用程序退出,Spring容器关闭,Bean才消失在历史的长河中。由此可见,存在Spring容器里的Bean有个从诞生到消亡的过程,这个过程俗称Bean的生命周期,具体如下:
01.运行Web应用程序
02.创建Spring容器
03.加载配置文件生成Bean的定义
04.创建实现了BeanFactoryPostProcessor接口的Bean,调用postProcessBeanFactory方法
05.创建实现了BeanPostProcessor接口的Bean
06.创建其它类型的Bean
07.通过属性注入依赖
08.调用Aware接口的方法
09.调用postProcessBeforeInitialization方法
10.调用afterPropertiesSet方法初始化Bean
11.调用postProcessAfterInitialization方法
12.存在Spring容器里的Bean开始支持整个应用程序的运行
13.退出Web应用程序
14.关闭Spring容器
15.调用destroy方法销毁Bean

可以看到Bean的生命周期从开始到结束总共经历十五个阶段,每个阶段都有每个阶段该做的事。现在,让我们以庖丁解牛的手法剖开各个阶段,瞧瞧里头具体是怎样的,以及怎样写些代码参与进去,做些我们想做的事。

阶段一:运行Web应用程序

这是事情的开端。在此阶段,Web容器将会加载和初始化Web应用程序,使之运行起来。

阶段二:创建Spring容器

Web容器初始化Web应用程序的时候,Web应用程序将会根据部署描述文件提供的信息创建两个Spring容器:一个是根应用上下文;一个是Servlet应用上下文。每个容器都有自己创建和管理着的Bean。Bean的生命周期是与Bean所在的容器关联的。

阶段三:加载配置文件生成Bean的定义

Web应用程序创建Spring容器的时候,Spring容器将会加载配置文件,解析配置文件,根据配置文件提供的信息生成BeanDefinition对象。BeanDefinition对象俗称Bean的定义,保存着关于如何创建Bean的信息。

阶段四:创建实现了BeanFactoryPostProcessor接口的Bean,调用postProcessBeanFactory方法

BeanFactoryPostProcessor是Spring提供的一个接口,具体如下:

1 public interface BeanFactoryPostProcessor {
2     void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) 
3             throws BeansException;
4 }
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 参与Bean的生命周期