本文主要是介绍SpringBean生命周期详情,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
啥也不说先来一波流程图
下面咱们详细说下每个步骤
- 1、根据配置调用Bean的构造方法或者工厂方法实例化Bean
- 2、根据完成Bean对属性的依赖注入
- 3、如果Bean实现了BeanNameAware接口, Spring调用setBeanName方法传入beanId
- 4、如果Bean实现了BeanFactoryAware接口, Spring调用setBeanFactory方法传入当前工厂实例的引用
- 5、如果Bean实现了ApplicationContextAware接口,spring调用setApplicationContext方法传参是当前ApplicationContext实例的引用
- 6、如果有BeanPostProcessor与Bean关联,spring调用该接口的预初始化方法
- 7、如果Bean实现了InitializingBean接口,spring将调用afterPropertiesSet方法
- 8、如果在配置文件中通过init-method自定了初始化方法,则调用改方法
- 9、如果有BeanPostProcessor与Bean有关联,spring调用该接口的postProcessAfterInitialization方法, 此时Bean已经可以被应用系统使用
- 10、如果指定的Bean的作用范围是singleton, 则将改Bean放入IOC的缓存池中,将触发spring对该Bean的生命周期的管理;
如果Bean的指定范围是prototype则将Bean交于调用者管理 - 11、如果Bean实现类DisposableBean接口,spring会调用destory方法将Bean销毁.
如果在配置文件中通过destory-method属性指定Bean的销毁方法,spring将调用该方法对Bean进行销毁.
这篇关于SpringBean生命周期详情的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!