Spring Bean的生命周期

总结:什么是生命周期了,其实就是从初始化创建对象---》到对象销毁的一系列过程,就好像人一样,从出生到死亡,中间一系列的过程就叫做 生命周期。

          百度一张 图片过程图 嘻嘻:

         

说明:

1、根据配置情况,调用Bean的构造方法或工厂方法实例化Bean

2、利用依赖注入完成Bean中所有属性值的配置注入

 

3、如果Bean实现了BeanNameAware接口,则调用setBeanName()方法传入当前Bean的id。

4、如果Bean实现了BeanFactoryAware接口,则调用setBeanFactory()传入当前工厂实例的引用

5、如果Bean实现了ApplicationContextAware接口,则调用setApplicationContext()方法传入当前ApplicationContext实例的引用

 

6、如果BeanPostProcessor和Bean关联,则调用预初始化方法postProcessBeforeInitialzation()进行加工操作,Spring AOP即利用此实现。

 

7、如果Bean实现了InitializingBean接口,则调用afterPropertiesSet()方法

8、如果在配置文件中通过init-method属性指定了初始化方法,则调用初始化方法

 

9、如果BeanPostProcessor和Bean关联,则调用初始化方法postProcessAfterInitialization()。此时,Bean已经可以被正常使用了。

 

10、如果指定了作用域为singleton,则将实例放在Spring IoC的缓存池中,并触发Spring容器对该Bean的生命周期管理,如果指定作用域为prototype,则将该Bean交给调用者,由调用者管理该Bean的生命周期。

 

11、如果Bean实现了DisposableBean接口,则调用destory()方法销毁实例;

12、如果在配置文件中通过destory-method指定了Bean的销毁方法,则调用该方法销毁实例。

posted @ 2019-07-06 10:51  川流不息&  阅读(124)  评论(0编辑  收藏  举报