javascript
spring boot 源码分析(七) 事件机制 之 SpringApplicationEvent
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
一、前言
前面的文章我們講解了一下spring?boot配置文件加載的相關(guān)源碼分析,下面我們將從源碼角度講解一下spring?boot?相關(guān)的事件機(jī)制,?本章我們將從?SpringApplicationEvent類分析一下spring boot?的事件機(jī)制。
二、類圖
可以從類圖中看到?SpringApplicationEvent?下有很多的實(shí)現(xiàn)類。我們首先從SpringApplicationEvent入手看看他實(shí)際上是如何運(yùn)行的
三、源碼解析
SpringApplicationEvent
package org.springframework.boot.context.event;import org.springframework.boot.SpringApplication; import org.springframework.context.ApplicationEvent;/*** 與SpringApplication相關(guān)的ApplicationEvent基類** */ @SuppressWarnings("serial") public abstract class SpringApplicationEvent extends ApplicationEvent {private final String[] args;public SpringApplicationEvent(SpringApplication application, String[] args) {super(application);this.args = args;}public SpringApplication getSpringApplication() {return (SpringApplication) getSource();}public final String[] getArgs() {return this.args;}}可以看到,他的內(nèi)部實(shí)際上調(diào)用了父類的一些放入?如
1. SpringApplicationEvent(SpringApplication application, String[] args)
中調(diào)用了super(application) ,
2. getSpringApplication(SpringApplication application, String[] args)
中調(diào)用了 getSource();
?
轉(zhuǎn)載于:https://my.oschina.net/u/1178126/blog/1824188
總結(jié)
以上是生活随笔為你收集整理的spring boot 源码分析(七) 事件机制 之 SpringApplicationEvent的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【HDOJ】1890 Robotic S
- 下一篇: 使用Docker构建Jekyll站点