玖叶教程网

前端编程开发入门

Spring Bean生命周期(spring bean生命周期源码)

Spring Bean的生命周期分5部分

1、实例化:根据工厂类或者构造函数实例化bean

2、属性赋值 对实例化后的属性进行赋值

3、初始化 调用init-method等方法初始化

4、使用

5、销毁 调用destroy等方法进行销毁

生命周期过程中常用的扩展点 有InstantiationAwareBeanPostProcessor、BeanPostProcessor、Aware接口等

InstantiationAwareBeanPostProcessor在实例化前后执行,实例化前执行postProcessBeforeInstantiation方法,在实例化后属性赋值之前执行postProcessAfterInstantiation。

BeanPostProcessor在初始化前后执行,在初始前执行postProcessBeforeInitialization方法,在初始后执行postProcessAfterInitialization方法


Aware分两类:

1、BeanNameAware、BeanClassLoaderAware、BeanFactoryAware在BeanPostProcessor执行postProcessBeforeInitialization方法之前执行。

2、EnvironmentAware、EmbeddedValueResolverAware、ResourceLoaderAware、ApplicationEventPublisherAware、MessageSourceAware、ApplicationContextAware等aware利用ApplicationContextAwareProcessor的postProcessBeforeInitialization方法中执行,ApplicationContextAwareProcesso是BeanPostProcessor的子类


初始阶段,如果bean是InitializingBean ,调用bean的afterPropertiesSet方法,初始化阶段会调用init-method方法


销毁阶段,注册DisposableBean,bean销毁时调用DisposableBean的destory方法,并调用配置的destory-method方法


发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言