首页 > 编程语言 >SpringBoot源码解析

SpringBoot源码解析

时间:2022-11-16 16:11:54浏览次数:38  
标签:SpringBoot boot springframework ApplicationContextInitializer 源码 context org 解析 

image

1.创建SpringApplication对象

image

1.1 webApplicationType设置 (SERVLET)

1.2 setInitializers设置

通过getSpringFactoriesInstances方法从 META-INF/spring.factories下获取key为
ApplicationContextInitializer的对象并实例化,共7个
org.springframework.context.ApplicationContextInitializer=\
org.springframework.boot.context.ConfigurationWarningsApplicationContextInitializer,\
org.springframework.boot.context.ContextIdApplicationContextInitializer,\
org.springframework.boot.context.config.DelegatingApplicationContextInitializer,\
org.springframework.boot.rsocket.context.RSocketPortInfoApplicationContextInitializer,\
org.springframework.boot.web.context.ServerPortInfoApplicationContextInitializer

org.springframework.context.ApplicationContextInitializer=\
org.springframework.boot.autoconfigure.SharedMetadataReaderFactoryContextInitializer,\
org.springframework.boot.autoconfigure.logging.ConditionEvaluationReportLoggingListener

1.3 setListeners设置

通过getSpringFactoriesInstances方法从 META-INF/spring.factories下获取key为
ApplicationListener的对象并实例化,共8个
org.springframework.context.ApplicationListener=\
org.springframework.boot.ClearCachesApplicationListener,\
org.springframework.boot.builder.ParentContextCloserApplicationListener,\
org.springframework.boot.context.FileEncodingApplicationListener,\
org.springframework.boot.context.config.AnsiOutputApplicationListener,\
org.springframework.boot.context.config.DelegatingApplicationListener,\
org.springframework.boot.context.logging.LoggingApplicationListener,\
org.springframework.boot.env.EnvironmentPostProcessorApplicationListener

org.springframework.context.ApplicationListener=\
org.springframework.boot.autoconfigure.BackgroundPreinitializer

1.4 mainApplicationClass设置

查找运行堆栈,找到main方法所在的位置

2.执行run方法

标签:SpringBoot,boot,springframework,ApplicationContextInitializer,源码,context,org,解析,
From: https://www.cnblogs.com/Acaak/p/16896271.html

相关文章

  • (笔者推荐)【Java权威指南】「官方文档-中英互译」AQS的源码注释分析,贯穿总体核心流程
    前提说明本文主要针对于Java官方文档中的先关的官方注释进行中英文互译,保证了源码坐着的设计思路以及相关知识技能介绍分析等,本文主要进行介绍AQS的源码官方注释的含义介绍,......
  • springboot 事务Transactional使用小技巧
    springboot事务Transactional使用小技巧使用场景:我们在处理业务时会有这样的需求:我们需要在业务中需要调用远程的RPC接口,或者调用MQ发送消息,如果一切正常那自然皆大欢喜......
  • 关于SpringBoot项目中Jar包使用外部配置文件的问题
     SpringBoot项目的jar包在有外部配置文件的情况下会优先调用外部配置文件外部配置文件的优先级依次是执行命令的目录下的config目录(jar包同一目录下的config目录)jar包......
  • springboot openfeign服务端与客户端调用演示demo
    文章目录​​serverdemo演示​​​​创建server项目​​​​application.properties配置​​​​importjar[pom.xml]​​​​创建服务端的restfulcontroller​​​​验......
  • SpringBoot 2学习笔记(二)
    45、web实验-抽取公共页面官方文档-TemplateLayout公共页面/templates/common.html <!DOCTYPEhtml> <htmllang="en"xmlns:th="http://www.thymeleaf.org">......
  • SpringBoot 2学习笔记(一)
    01、基础入门-SpringBoot2课程介绍SpringBoot2核心技术SpringBoot2响应式编程学习要求-熟悉Spring基础-熟悉Maven使用环境要求Java8及以上Maven......
  • Java SpringBoot FTP 上传下载文件
    POM添加依赖<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.3.7</version></dependency><!--......
  • 13 drf-解析器
    之前使用request.data获取请求体中的数据。这个reqeust.data的数据怎么来的呢?其实在drf内部是由解析器,根据请求者传入的数据格式+请求头来进行处理。 解析器可以......
  • Springboot整合Jwt实现用户认证
    前言相信大家在进行用户认证中或多或少都要对用户进行认证,当前进行认证的方式有基于session、token等主流方式,但是目前使用最广泛的还是基于JWT的用户认证,特别适用于......
  • 我把SpringBoot的banner换成了美女;老板:工作不饱和,建议加班
    很多公司的banner是自己公司的名称或者产品名称,banner也是可以自由定制的。但没想到还有这种骚操作,场主日常惊呆,我们一起康康。。一:banner.txt在SpringBoot项目的resour......