转载请注明出处:https://blog.csdn.net/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的过程(含图)

相关文章:

  • 2021-10-20
  • 2021-09-08
  • 2021-12-04
  • 2021-10-13
  • 2021-10-20
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-11-01
  • 2022-02-13
  • 2021-11-19
  • 2022-12-23
  • 2022-12-23
  • 2022-01-29
  • 2022-12-23
相关资源
相似解决方案