【SpringBoot】SpringBoot的运行原理

news/2024/10/21 4:32:57/

 SpringBoot项目中都有一个如下的启动类。

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

其中@SpringBootApplication是这个启动类的核心注解,在它下面又有三个子注解如下:

  1. @SpringBootConfiguration:配置当前启动类为Bean
  2. @EnableAutoConfiguration:自动扫描所有启动器依赖中的配置类。
  3. @ComponentScan:自动扫描启动类所在的包及其子包下使用了@Bean注解的类及其方法。

其中@EnableAutoConfiguration这个注解也是比较核心的。

  • @EnableAutoConfiguration 借助自己的一个子注解@Import 的帮助,将所有符合自动配置条件的 bean 定义加载到 IoC 容器。

而main中SpringApplication.run()的作用主要有两个

  1. 创建SpringApplication对象:进行相关资源的加载,解析@SpringBootApplication注解。
  2.  调用的是创建的SpringApplication对象的run方法,然后使用资源并启动Tomcat。

 下面介绍一下SpringBoot启动的全过程(部分),如下图所示。

看源码如下:

 

 

之后run方法会遍历这个List集合中的类路径信息。并反射调用类对象,完成Bean的配置。

然后就会用到我们的yml文件了

 稀里糊涂的写完了。。。。。。


http://www.ppmy.cn/news/1511925.html

相关文章

表情分类模型

文章目录 前提模型下载表情分类:emotion.py结果 前提 注意,输入的图片是裁剪好的人脸图,如: 检测人脸与检测参考:YOLOv7-face人脸检测 模型下载 https://download.csdn.net/download/WhiffeYF/89654401 解压后使用…

RCE的另外一些绕过练习

目录 被过滤了flag怎么办 方法 结果 过滤了flag、php、system 方法一 结果 ​编辑 方法二 过滤了很多但是主要的就是过滤了空格 和 注意一下这个就行 方法一 方法二 相对于上面一道题来说多过滤了一个括号 方法一 被过滤了flag怎么办 <?php error_reportin…

【ubuntu24.04】k8s 部署5:配置calico 镜像拉取

kubeadm - 中国大陆版建议:初始化Kubeadm –apiserver-advertise-address 这个地址是本地用于和其他节点通信的IP地址 –pod-network-cidr pod network 地址空间 sudo kubeadm init --image-repository registry.aliyuncs.com/google_containers --apiserver-advertise-add…

计算机网络速成(二)

计算机网络面试&#xff08;二&#xff09;-CSDN博客 OSI七层体系架构 OSI七层模型是什么&#xff1f;每层的功能是什么&#xff1f; OSI七层模型是国际标准化组织&#xff08;ISO&#xff09;制定的一个用于计算机或通信系统间互联的标准体系&#xff0c;它从上到下分别是&am…

MySQL 数据库经验总结

一、数据库操作 1. 创建数据库 CREATE DATABASE database_name;例如&#xff0c;创建一个名为 my_database 的数据库&#xff1a; CREATE DATABASE my_database;2. 选择数据库 USE database_name;要使用刚才创建的 my_database 数据库&#xff1a; USE my_database;3. 删除…

探索网络安全的深度与广度:挑战、策略与未来展望

一、引言 在当今数字化的时代&#xff0c;网络已经成为社会运转的核心基础设施之一。从个人的日常通信、娱乐到企业的业务运营、国家的关键服务&#xff0c;几乎所有领域都依赖于网络。然而&#xff0c;随着网络的普及和应用的深化&#xff0c;网络安全问题也日益凸显&#xf…

JavaEE项目总结(1)

一、在vue项目中安装axios 由于需要使用axios框架进行异步请求&#xff0c;所以需要在vue项目中安装axios框架。在官方下载速度较慢&#xff0c;所以选择更换镜像源&#xff08;我使用的是华为云镜像&#xff09; 在项目终端中输入npm config set registry http://mirrors.…

轻松解决找不到“MSVCP120.dll”的困扰

文章目录 轻松解决找不到“MSVCP120.dll”的困扰了解“MSVCP120.dll”可能导致问题的原因解决方法方法一&#xff1a;重新安装 Microsoft Visual C Redistributable 包&#xff08;亲测有效&#xff09;附官方网站链接两个安装包链接方法二&#xff1a;使用系统文件检查工具&am…