2023-09-16
原文作者:王伟王胖胖 原文地址: https://blog.csdn.net/wangwei19871103/article/details/105176080

图不能少

202309162313526801.png

registerDisposableBeanIfNecessary注册销毁回调

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

SmartInitializingSingleton的afterSingletonsInstantiated

这个就是所有的单例实例化的最后会调用,给个通知。

202309162313534452.png

总结

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

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

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

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

阅读全文