SpringApplication

简介: 不简单的方法我最初以为就是运行了一个main方法,没想到却开启了一个服务;

SpringApplication

5.1.不简单的方法

我最初以为就是运行了一个main方法,没想到却开启了一个服务;


@SpringBootApplication
public class SpringbootApplication {
    public static void main(String[] args) {
        SpringApplication.run(SpringbootApplication.class, args);
    }
}

SpringApplication.run分析

分析该方法主要分两部分,一部分是SpringApplication的实例化,二是run方法的执行;

5.2.SpringApplication

这个类主要做了以下四件事情:

1、推断应用的类型是普通的项目还是Web项目

2、查找并加载所有可用初始化器 , 设置到initializers属性中

3、找出所有的应用程序监听器,设置到listeners属性中

4、推断并设置main方法的定义类,找到运行的主类

查看构造器:


public SpringApplication(ResourceLoader resourceLoader, Class... primarySources) {
    // ......
    this.webApplicationType = WebApplicationType.deduceFromClasspath();
    this.setInitializers(this.getSpringFactoriesInstances();
    this.setListeners(this.getSpringFactoriesInstances(ApplicationListener.class));
    this.mainApplicationClass = this.deduceMainApplicationClass();
}

5.1.run方法流程分析

1673576842750.png

相关文章
|
XML 存储 JSON
Android Jetpack组件 DataStore的使用和简单封装
Android Jetpack组件 DataStore的使用和简单封装
1136 0
Android Jetpack组件 DataStore的使用和简单封装
|
7月前
|
存储 数据管理
如何用二维码实现招聘、简历收集与工作证管理
二维码技术为中小微企业在招聘、简历收集和工作证管理方面提供了低成本、高效率的解决方案。通过生成包含招聘信息、简历投递表单和员工信息收集表单的二维码,企业可以灵活发布信息、实时收集数据,并简化入职流程。此外,二维码工作证的制作也大幅提高了HR的工作效率。使用草料二维码平台,无需专业IT背景,普通行政人员即可轻松操作,帮助企业优化管理流程,减少人为错误,提升运营效率。
247 10
|
9月前
|
存储 人工智能 程序员
【C语言】一篇通关所有 “关键字”,值得收藏篇!
关键字是编程语言预定义的保留词,代表特定的操作或结构。C语言中的关键字用于定义变量类型、控制语句、存储类、数据类型等。使用这些关键字可以创建函数、控制程序的流程、声明变量和常量等。
1536 0
|
安全 网络协议 网络性能优化
https,http2,http3的区别
https,http2,http3的区别
|
网络协议 Unix 网络架构
IP多播需要使用两种协议(IGMP和多播路由选择协议)
IP多播需要使用两种协议(IGMP和多播路由选择协议)
323 0
|
算法 搜索推荐 Java
图计算中的PageRank算法是什么?请解释其作用和计算原理。
图计算中的PageRank算法是什么?请解释其作用和计算原理。
172 0
|
Python 开发工具
第三方支付黑马-CodePay 码支付使用(二)
自古以来有关钱的事情都会特别复杂, 无论是人还是物! 在很多项目中我们都会用到支付功能, 市面上目前存在的银联支付, 支付宝支付, 微 信支付等等第三方支付都会遇到比较复杂的流程, 不是合格的商家公司是没法使用的! 而码支付CodePay打破了这个常规, 虽然作为第三方支付平台, 但是这个平台只提供支付结果订单的结算, 并不对接现金流! 采用的是个人/商家自己的收款码现金是直接到账的形式!
第三方支付黑马-CodePay 码支付使用(二)
|
Java 关系型数据库 MySQL
JPA中实体类属性相关注解与数据表列映射详解
JPA中实体类属性相关注解与数据表列映射详解
627 0
|
存储 数据可视化 架构师
【数据建模】什么是数据建模?
数据建模是分析和定义业务收集和生成的所有不同数据以及这些数据之间的关系的过程。数据建模概念在业务中使用数据时创建数据的可视化表示,而流程本身是理解和澄清数据需求的练习。