来源:https://www.toutiao.com/i6764940257172390403/
作者:java架构设计
本文主讲Spring的事件机制,意图说清楚:
- 什么是观察者模式?
- 自己实现事件驱动编程,对标Spring的事件机制
- 彻底搞懂Spring中的事件机制,从而让大家
本文内容较长,代码干货较多,建议收藏后持续阅读。
Spring框架已然是Javaeee开发领域的霸主,无论是使用SpringBoot还是SpringCloud,都离不开Spring框架。
作为Java开发者,无论是面试求职还是日常开发,就必须得熟练掌握、运用Spring框架。
因此学习Spring框架源码也就成为了大家最重要的事情之一。
Spring框架中用到的设计模式
Spring框架中运用了大量的设计模式,如果对设计模式掌握的不够熟练,阅读源码的时候就会感到很吃力,不明白作者为什么这样写,有时候一个方法一个方法的跟进去,到达一定的深度之后就断了,无法连贯起来,最后不得不放弃。
简单工厂,又叫静态工厂方法模式:Spring中的BeanFactory。
工厂方法模式:Spring中的FactoryBean。
单例模式:Spring中的BeanFactory就是全局单例的,我们日常开发的service默认也是单例模式,单例存在于Spring容器中。
适配器模式:Spring中的AOP、拦截器。
包装器模式:Spring中的各种Wrapper、Decorator。
代理模式:Spring中的AOP就是采用的代理模式,代理有JDK动态代理(JdkDynamicAopProxy)和Cglib代理(Cglib2AopProxy)两种方式。
观察者模式:Spring中的ApplicationListener,事件驱动编程思想。
策略模式:Spring中在实例化对象的时候用到Strategy模式。
模板方法<