2019独角兽企业重金招聘Python工程师标准>>>

一、前言

前面的文章我们讲解了一下spring boot配置文件加载的相关源码分析,下面我们将从源码角度讲解一下spring boot 相关的事件机制, 本章我们将从 SpringApplicationEvent类分析一下spring boot 的事件机制。

二、类图

可以从类图中看到 SpringApplicationEvent 下有很多的实现类。我们首先从SpringApplicationEvent入手看看他实际上是如何运行的

三、源码解析

SpringApplicationEvent

package org.springframework.boot.context.event;import org.springframework.boot.SpringApplication;
import org.springframework.context.ApplicationEvent;/*** 与SpringApplication相关的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;}}

可以看到,他的内部实际上调用了父类的一些放入 如

1. SpringApplicationEvent(SpringApplication application, String[] args)

中调用了super(application)

2. getSpringApplication(SpringApplication application, String[] args)

中调用了 getSource();

转载于:https://my.oschina.net/u/1178126/blog/1824188

spring boot 源码分析(七) 事件机制 之 SpringApplicationEvent相关推荐

  1. 精尽Spring Boot源码分析 - 内嵌Tomcat容器的实现

    概述 我们知道 Spring Boot 能够创建独立的 Spring 应用,内部嵌入 Tomcat 容器(Jetty.Undertow),让我们的 jar 无需放入 Servlet 容器就能直接运行. ...

  2. Spring Security源码分析七:Spring Security 记住我

    有这样一个场景--有个用户初访并登录了你的网站,然而第二天他又来了,却必须再次登录.于是就有了"记住我"这样的功能来方便用户使用,然而有一件不言自明的事情,那就是这种认证状态的&q ...

  3. spring boot源码分析之SpringApplication

    spring boot提供了sample程序,学习spring boot之前先跑一个最简单的示例: /** Copyright 2012-2016 the original author or aut ...

  4. jquery源码分析(七)——事件模块 event(二)

    上一章节探讨了事件的一些概念,接下来看下jQuery的事件模块. jQuery对事件的绑定分别有几个API:.bind()/.live()/.delegate()/.on()/click(), 不管是 ...

  5. 实战:Spring Boot源码解读与原理分析

    承载着作者的厚望,掘金爆火小册同名读物<Spring Boot源码解读与原理剖析>正式出书! 本书前身是掘金社区销量TOP的小册--<Spring Boot源码解读与原理剖析> ...

  6. 【赠书福利】掘金爆火小册同名《Spring Boot源码解读与原理剖析》正式出书了!...

    关注我们丨文末赠书 承载着作者的厚望,掘金爆火小册同名读物<Spring Boot源码解读与原理剖析>正式出书! 本书前身是掘金社区销量TOP的小册--<Spring Boot源码解 ...

  7. 【Android 事件分发】ItemTouchHelper 源码分析 ( OnItemTouchListener 事件监听器源码分析 二 )

    Android 事件分发 系列文章目录 [Android 事件分发]事件分发源码分析 ( 驱动层通过中断传递事件 | WindowManagerService 向 View 层传递事件 ) [Andr ...

  8. 【Android 事件分发】ItemTouchHelper 源码分析 ( OnItemTouchListener 事件监听器源码分析 )

    Android 事件分发 系列文章目录 [Android 事件分发]事件分发源码分析 ( 驱动层通过中断传递事件 | WindowManagerService 向 View 层传递事件 ) [Andr ...

  9. 一步一步手绘Spring AOP运行时序图(Spring AOP 源码分析)

    相关内容: 架构师系列内容:架构师学习笔记(持续更新) 一步一步手绘Spring IOC运行时序图一(Spring 核心容器 IOC初始化过程) 一步一步手绘Spring IOC运行时序图二(基于XM ...

最新文章

  1. android用于查询数据的方法,android: SQLite查询数据
  2. 基于Xcode安装CocoaPods报错
  3. 烂泥:高负载均衡学习haproxy之关键词介绍
  4. 记住:用户不是傻*,她是你的老婆大人
  5. 08-CSS基础-体验CSS
  6. BX、DI、SI、BP总结
  7. aspx repeater 用法_ASP.NET-----Repeater数据控件的用法总结
  8. 创建失败_【阿里云主机】二级域名创建失败解决方法
  9. HttpClient 模拟登录网易微博
  10. 从单体迈向Serverless的避坑指南
  11. snort安装使用教程
  12. matlab线性规划系列之基础解题
  13. 使用vscode快速建立vue模板
  14. 热爱生命 - 汪国真
  15. c# 中文转换为拼音或者拼音首字母
  16. 【C语言】共用体的定义与使用
  17. aspen压缩因子_利用aspen plus进行物性参数的估算
  18. hdu1827 1269 2767 强连通分支 刷水
  19. Hadoop学习——Hadoop概述
  20. 微信小程序之蓝牙通信模块

热门文章

  1. const、volatile、mutable关键字
  2. Python之eval函数实例解释
  3. 各种数据库获取前10行记录实例
  4. Qt:Qt实现Winsock网络编程—TCP服务端和客户端通信(多线程)
  5. 设计师Yoyo:为用户设计产品,让他们生活更美好
  6. JavaScript对象中的this属性
  7. java实现文件上传下载功能,javaweb文件的下载和上传功能的实现
  8. spring5企业级开发实战 pdf_终于总结出Spring全家桶+微服务设计模式+Netty+MySQL调优PDF...
  9. Git 各指令的本质,真是通俗易懂啊
  10. 速领,我给大家做了程序员专属红包封面~