Spring生命周期中有的步骤具体是干什么的?


这里举开源中国上一篇博客为例
Bean在Spring Bean应用上下文中的生命周期 与 Bean工厂中的生命周期

生命周期里面有很多类和方法完全不知道是干什么用的,我是个本科生,理解的生命周期就是初始化完了用,用完了删掉,怎么在Spring里面弄出这么多步骤啊?不明白的步骤我都括号标出来了,谁能稍微解释一下啊?

Bean在Spring Bean应用上下文中的生命周期:
第1步、实例化
第2步、设置属性值
第3步、调用BeanNameAware的setBeanName()方法
第4步、调用BeanFactoryAware的setBeanFactory()方法(设置的BeanFactory对这个bean有什么用?)
第5步、调用ApplicationContextAware方法setApplicationContext()方法(上下文一般传给bean什么东西?能举几个例子么?)
第6步、调用BeanPostProcessor的预初始化方法(before>(预初始化和初始化有什么区别啊,能举例子说下哪些是在预初始化完成的?)
第7步、调用InitializingBean的afterPropertiesSet()方法(这个是干什么的?为什么还要有这步?)
第8步、调用定制的初始化方法
第9步、调用BeanPostProcessor的后初始化方法(after)(初始化后这步又是干什么的?)
第10步、Bean可以使用了
第11步、容器关闭(这个容器是不是ApplicationContext?什么情况下容器会关闭?)
第12步、调用DisposableBean的destory()方法
第13步、调用定制的销毁方法

Bean在Spring Bean工厂中的生命周期:
第1步、实例化
第2步、设置属性值
第3步、调用BeanNameAware的setBeanName()方法
第4步、调用BeanFactoryAware的setBeanFactory()方法
第5步、调用InitializingBean的afterPropertiesSet()方法
第6步、调用调用定制的初始化方法
第7步、Bean可以使用了
第8步、容器关闭
第9步、调用DisposableBean的destory()方法
第10步、调用定制的销毁方法

spring spring-mvc

工口小蘑菇 10 years, 4 months ago

大部分的看似无用部分是hook点,可以实现用户自定义功能。

谏山黄泉. answered 10 years, 3 months ago

Your Answer