Spring 5.x 源码之旅四十之注册销毁回调扩展点

Spring 5.x 源码之旅四十之注册销毁回调扩展点

  • 图不能少
  • registerDisposableBeanIfNecessary注册销毁回调
  • SmartInitializingSingleton的afterSingletonsInstantiated
  • 总结

图不能少

Spring 5.x 源码之旅四十之注册销毁回调扩展点_第1张图片

registerDisposableBeanIfNecessary注册销毁回调

这个我前面有讲过了,可以参考下,还有这篇文章。
有N种方法可以扩展注册容器销毁的回调方法,销毁的时候释放资源啊,做一些处理啊。

SmartInitializingSingleton的afterSingletonsInstantiated

这个就是所有的单例实例化的最后会调用,给个通知。
Spring 5.x 源码之旅四十之注册销毁回调扩展点_第2张图片

总结

基本上getBean的扩展点主要是这几个接口:

  • InstantiationAwareBeanPostProcessor
  • SmartInstantiationAwareBeanPostProcessor
  • BeanPostProcessor
  • MergedBeanDefinitionPostProcessor
  • InitializingBean
  • DisposableBean
  • Supplier

但是涉及到的范围非常广,从实例化之前,实例化之后,注入之前,注入中,初始化前,初始化中,初始化后,销毁前,基本整个生命周期都包含了。这些方法其实足够让你在各个阶段参数,也可以做到一定的解耦,通过处理器作为和spring的连接,避免跟spring过耦合。

好了,今天就到这里了,希望对学习理解有帮助,大神看见勿喷,仅为自己的学习理解,能力有限,请多包涵。

你可能感兴趣的:(Spring,5.x,源码之旅)