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查看类

JavaWeb:SpringBoot工作原理详解_第1张图片
JavaWeb:SpringBoot工作原理详解_第2张图片

3.2 实现方案


3.3源码跟踪

阅读原则:源头—返回能看懂,跳过—主线




JavaWeb:SpringBoot工作原理详解_第3张图片

你可能感兴趣的:(JavaWeb2,spring,boot,java,后端)