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

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源码跟踪

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

相关文章:

  • 【第五篇】 SpringBoot中的高级配置
  • 可编程幻彩LED灯条的设计
  • 3d世界坐标系转屏幕坐标系
  • 详解3DGS
  • JVM相关
  • 什么是智能体agent?
  • linux 新增驱动宏config.in配置
  • Python之Pandas
  • 【node.js】node.js 安装详细步骤教程【安装在D盘】
  • 计算机网络学习20250525
  • [Linux] 利用systemd实现周期性执行任务(DDNS设置案例)
  • 第五项修炼与系统思考
  • Java 虚拟机(JVM)原理与实战:打造高效稳定的运行环境
  • 【C语言】指针全局变量
  • PyTorch Image Models (timm) 技术指南
  • SRS流媒体服务器(7)源码分析之拉流篇
  • 进程守护服务优点
  • 《解锁Claude4:开启AI交互新体验》
  • SRS流媒体服务器之RTC播放环境搭建
  • 蓝桥杯单片机答题技巧
  • 网站开发第三方/国内好的seo
  • 金山网站建设公司/百度ai智能写作工具
  • 长春网长春网站建设站建设/上海关键词优化报价
  • 那个网站可以做全景图/进入百度官网首页
  • 吃的网站要怎么做/如何找做网站的公司
  • 织梦网站后台默认登陆路径/百度推广方式有哪些