当前位置: 首页 > ds >正文

JavaWeb:SpringBoot工作原理详解

一、SpringBoot优点

1.为所有Spring开发者更快的入门
2.开箱即用,提供各种默认配置来简化项目配置
3.内嵌式容器简化Web项目
4.没有冗余代码生成和XML配置的要求

二、SpringBoot 运行原理

2.1. pom.xml

spring-boot-dependencies: 核心依赖在父工程中;
springboot-boot-starter-xxx:就是spring-boot的场景启动器
spring-boot-starter-web:帮我们导入了web模块正常运行所依赖的组件;
SpringBoot将所有的功能场景都抽取出来,做成一个个的starter (启动器),只需要在项目中引入这些starter即可,所有相关的依赖都会导入进来 , 我们要用什么功能就导入什么样的场景启动器即可 ;我们未来也可以自己自定义 starter;

在这里插入图片描述

2.2. 主启动类的配置

@SpringBootApplication
public class SpringbootApplication {public static void main(String[] args) {//启动了一个服务SpringApplication.run(SpringbootApplication.class, args);}
}`

@SpringBootApplication
作用:
标注在某个类上说明这个类是SpringBoot的主配置类 , SpringBoot就应该运行这个类的main方法来启动SpringBoot应用;

SpringApplication 这个类主要做了以下四件事情:
1、推断应用的类型是普通的项目还是Web项目
2、查找并加载所有可用初始化器 , 设置到initializers属性中
3、找出所有的应用程序监听器,设置到listeners属性中
4、推断并设置main方法的定义类,找到运行的主类

三、自动配置原理(默认)

3.1查看类

在这里插入图片描述
在这里插入图片描述

3.2 实现方案

在这里插入图片描述
在这里插入图片描述

3.3源码跟踪

阅读原则:源头—返回能看懂,跳过—主线
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

http://www.xdnf.cn/news/8944.html

相关文章:

  • 动态规划---路径问题
  • NV149NV153美光固态闪存NV158NV161
  • 浏览器请求数据包的“超级马里奥之旅”
  • 字节跳动2025年校招笔试手撕真题教程(三)
  • 华为OD机试真题——字符串序列判定(2025B卷:100分)Java/python/JavaScript/C/C++/GO最佳实现
  • springboot3 configuration
  • JavaWeb:SpringBootAOP切面实现统计方法耗时和源码解析
  • Mercy v2靶机通关笔记
  • 深度学习面试八股简略速览
  • 前端面经-虚幻引擎5
  • Vue 3(1) 用 Composition API 写一个简单的应用
  • 从本能到智能 | 人类大脑的三阶段进化与皮层神经元生成机制
  • Librosa是什么?用librosa进行多人声纹对比
  • 一些运算符重载的例子
  • Linux `date` 命令深度解析与高阶应用指南
  • 深入解析嵌入式开发核心问题 ——从总线协议到系统架构,全面掌握设计精髓
  • Maven基础篇
  • MCP协议:开发者生态系统的未来基石?
  • Python GDAL 库离线安装
  • 塑料杯子什么材质最好,用起来是不是安全?
  • 软件工程重点复习
  • Python之Pandas
  • 考虑安全稳定约束的优化调度综述
  • docker部署XTdrone
  • 5月25日day36打卡
  • 动态导入与代码分割实战
  • 二叉树--OJ2
  • Android组件化框架设计与实践
  • 计算机视觉---YOLOv1
  • Java 中的 super 关键字