Spring Bean销毁流程
Spring中ApplicationContext的close方法执行流程:
1、发布关闭事件
2、执行lifeCycleProcess的close方法
3、执行destroyBeans()方法;
注释原文:// Destroy all cached singletons in the context's BeanFactory. 销毁上下文BeanFactory中所有缓存的单例对象
3.1、找到所有的DisposableBean
3.2、遍历找出所有依赖了当前DisposableBean的所有bean,将这些bean从单例池中移除
3.3、调用了DisposableBean的destroy方法
3.4、找到当前bean的所有inner Bean,将这些Inner Bean全部移除掉