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的使用和简单封装
1163 0
Android Jetpack组件 DataStore的使用和简单封装
|
Web App开发 Android开发 iOS开发
Flutter Web:获取设备信息、UA、窗口大小等
开启web支持 首先我们要为Flutter安装web环境,通过下面命令: flutter pub global activate webdev //安装web开发环境 然后为我们的Flutter项目开启web支持,通过下面的命令: flutter config --enable-web //启动支持web flutter config --enable-macos-desktop //启动mac支持 flutter config --enable-windows-desktop //启用window支持
1523 0
|
7月前
|
存储 数据管理
如何用二维码实现招聘、简历收集与工作证管理
二维码技术为中小微企业在招聘、简历收集和工作证管理方面提供了低成本、高效率的解决方案。通过生成包含招聘信息、简历投递表单和员工信息收集表单的二维码,企业可以灵活发布信息、实时收集数据,并简化入职流程。此外,二维码工作证的制作也大幅提高了HR的工作效率。使用草料二维码平台,无需专业IT背景,普通行政人员即可轻松操作,帮助企业优化管理流程,减少人为错误,提升运营效率。
274 10
|
9月前
|
机器学习/深度学习 人工智能 智能设计
VisionFM:通用眼科 AI 大模型,具备眼科疾病诊断能力,展现出专家级别的准确性
VisionFM 是一个多模态多任务的视觉基础模型,专为通用眼科人工智能设计。通过预训练大量眼科图像,模型能够处理多种眼科成像模态,并在多种眼科任务中展现出专家级别的智能性和准确性。
445 4
VisionFM:通用眼科 AI 大模型,具备眼科疾病诊断能力,展现出专家级别的准确性
|
7月前
|
人工智能 IDE 测试技术
用户说 | 通义灵码2.0,跨语言编码+自动生成单元测试+集成DeepSeek模型且免费使用
用户说 | 通义灵码2.0,跨语言编码+自动生成单元测试+集成DeepSeek模型且免费使用
|
数据安全/隐私保护
锐捷交换机Console密码忘了,怎么破?
锐捷交换机Console密码忘了,怎么破?
1111 0
锐捷交换机Console密码忘了,怎么破?
|
6月前
|
Windows
Windows系统云服务器配置多用户登录
本教程介绍了在Windows云服务器上配置远程桌面服务的详细步骤,包括安装桌面会话主机和远程桌面授权、允许多用户远程连接以及配置新用户并加入远程桌面用户组。通过添加角色和功能、设置组策略以及管理用户权限,实现多用户同时登录和远程访问。按照指引操作,可顺利完成服务器的远程访问配置,提升管理和使用效率。
682 0
|
9月前
|
存储 人工智能 程序员
【C语言】一篇通关所有 “关键字”,值得收藏篇!
关键字是编程语言预定义的保留词,代表特定的操作或结构。C语言中的关键字用于定义变量类型、控制语句、存储类、数据类型等。使用这些关键字可以创建函数、控制程序的流程、声明变量和常量等。
1654 0
|
10月前
|
存储 Java Linux
Java“Bad Magic Number”错误解决
Java“Bad Magic Number”错误通常发生在尝试运行不兼容或损坏的类文件时。解决方法包括确保使用正确的JDK版本、检查类文件完整性、清理和重新编译项目。
604 13