您当前的位置: 首页 >  spring

SpringBoot 启动源码解析

蔚1 发布时间:2018-07-01 03:45:57 ,浏览量:5

SpringBoot 在其启动过程中给我们留出了很多定制点,尤其是我们可以自己添加一些初始化器(ApplicationContextInitializer 接口的实现类)和监听器(ApplicationListener 接口的实现类)在服务启动过程中执行一些逻辑,例如可以通过监听 ContextRefreshedEvent 事件来实现服务启动注册,可以通过自己实现的初始化器来加载外部配置,所以了解 SpringBoot 的启动源码是非常有意义的。

本次 Chat 分享将介绍以下内容:

  1. 创建 SpringApplication 实例过程分析:
    • 判断是否是 Web 环境。
    • 创建并初始化 ApplicationInitializer 列表。
    • 创建并初始化 ApplicationListener 列表。
    • 初始化主类 MainApplicationClass。
  2. 怎样添加自定义监听器?
  3. 启动核心 Run 方法过程源码分析:
    • 创建启动停止计时器。
    • 配置 Awt 系统属性。
    • 获取 SpringApplicationRunListeners。
    • 启动 SpringApplicationRunListener。
    • 创建 ApplicationArguments。
    • 创建并初始化 ConfigurableEnvironment。
    • 打印 Banner。
    • 创建 ConfigurableApplicationContext。
    • 准备 ConfigurableApplicationContext。
    • 刷新 ConfigurableApplicationContext。
    • 容器刷新后动作。
    • SpringApplicationRunListeners 发布 Finish 事件。
    • 计时器停止计时。

通过此过程您将了解 SpringBoot 启动的底层过程,并能自己去定制一些初始化器和监听器,添加自己的业务逻辑来实现相关功能。(注:文末将附上关于SpringBoot实战学习的资源链接)

阅读全文: http://gitbook.cn/gitchat/activity/5b2d9ab31a533235c4e8ea2a

您还可以下载 CSDN 旗下精品原创内容社区 GitChat App ,阅读更多 GitChat 专享技术内容哦。

FtooAtPSkEJwnW-9xkCLqSTRpBKX

关注
打赏
1688896170
查看更多评论

蔚1

暂无认证

  • 5浏览

    0关注

    4645博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0489s