转载请注明出处:https://blog.youkuaiyun.com/weixin_41459547/article/details/89052733
- 如果Bean实现了接口BeanNameAware的setBeanName方法,那么它就会调用这个方法
- 如果Bean实现了接口BeanFactoryAware的setBeanFactory方法,那么它就会调用这个方法
- 如果Bean实现了接口ApplicationContextAware的setApplicationContext方法,且Spring IoC容器也必须是一个ApplicationContext接口的实现类,那么才会调用这个方法
- 如果Bean实现了接口BeanPostProcessor的postProcessBeforeInitialization方法,那么它就会调用这个方法
- 如果Bean实现了接口BeanFactoryPostProcessor的afterPropertiesSet方法,那么它会调用这个方法
- 如果Bean自定义了初始化方法,它就会调用已定义的初始化方法
- 如果Bean实现了接口BeanPostProcessor的postProcessAfterInitialization方法,完成了这些调用,这个时候Bean就完成了初始化,那么Bean就存在Spring IoC的服务器中了,使用者就可以从中获取Bean的服务
当服务器正常关闭,或者遇到其他关闭Spring IoC容器的时间,它就会调用对应的方法完成Bean的销毁,其步骤如下:
- 如果Bean实现了接口DisposableBean的destroy方法,那么就会调用它
- 如果定义了自定义销毁方法,那么就会调用它


本文详细阐述了Spring IoC容器中Bean的初始化和销毁过程,包括BeanNameAware、BeanFactoryAware、ApplicationContextAware等接口的调用,BeanPostProcessor和BeanFactoryPostProcessor的作用,以及自定义初始化和销毁方法的执行。在容器关闭时,DisposableBean接口的destroy方法和自定义销毁方法会被调用。
最低0.47元/天 解锁文章
903

被折叠的 条评论
为什么被折叠?



