當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
找找 Spring Event 源码中各种设计模式的使用
生活随笔
收集整理的這篇文章主要介紹了
找找 Spring Event 源码中各种设计模式的使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
為什么80%的碼農都做不了架構師?>>> ??
本文將按照Spring Event 是什么鬼的思路尋找 Spring 源碼中與 Spring Event 有關的設計模式實現
初始化-工廠模式
Mulicater的創建過程就是通過bean 工廠創建,此處使用了工廠模式,BeanFactory 接口定義了 getBean 方法,AbstractBeanFactory 實現了getBean方法,而針對 Bean 的管理(? ?Bean的定義、Bean的創建以及對Bean的解析)AbstractXXXBeanFactory等抽象類來管理,不同的抽象類有不同的管理策略。
事件發布-觀察者模式
//AbstractApplicationEventMulticaster.javapublic?void?multicastEvent(final?ApplicationEvent?event)?{for?(final?ApplicationListener?listener?:?getApplicationListeners(event))?{Executor?executor?=?getTaskExecutor();if?(executor?!=?null)?{executor.execute(new?Runnable()?{public?void?run()?{listener.onApplicationEvent(event);}});}else?{listener.onApplicationEvent(event);}}}根據 event,找到監聽的 listener,在事件觸發時,調用 listener 的 onApplicationEvent(event) 方法,此處觀察者模式的運用得益于 ApplicationEvent ApplicationListener 兩個接口的定義,Spring 通過 Listener 的監聽方法參數與實際觸發的事件對象匹配來區別是否應該調用Listener的 onApplicationEvent 方法。
轉載于:https://my.oschina.net/mays/blog/656187
總結
以上是生活随笔為你收集整理的找找 Spring Event 源码中各种设计模式的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据结构-栈的顺序结构两种方式
- 下一篇: gradle idea java ssm