当前位置:首页 » 《随便一记》 » 正文

Spring Boot(四):Spring Boot启动原理分析

12 人参与  2023年02月16日 10:49  分类 : 《随便一记》  评论

点击全文阅读


文章目录

Spring Boot启动原理分析

一、依赖导入原理

二、Spring Boot包扫描原理 

三、Spring Boot自动配置原理


Spring Boot启动原理分析

一、依赖导入原理

父项目版本控制

ctrl + 点击spring-boot-starter-parent进入

继续点击,进入spring-boot-dependencies

这里管理着springboot中所有依赖的版本,是一个版本控制中心,导入依赖如果不写版本就用这里的版本。 

spring-boot-starter-web也就是web启动器,导入和很多web的依赖。

二、Spring Boot包扫描原理 

点击进入@SpringBootApplication注解

点击进入@SpringBootConfiguration注解

@SpringBootConfiguration上面有一个Configuration表示这是一个配置类

配置类上面有@Component说明也是容器中的一个组件

接着我们再回到SpringBootApplication.class文件的@EnableAutoConfiguration注释,点击进入。

@EnableAutoConfiguration 启用自动配置功能

springboot中没有做任何配置,springboot自动帮助我们配置,但是要通过该注解才能生效。

点击 @AutoConfigurationPackage(自动配置包)进入分析

@Import(AutoConfigurationPackages.Registrar.class) 导入AutoConfigurationPackages.Registrar类

@Import是spring的底层注解,给容器导入一个组件

通过debug进行启动

然后再这里右击计算

输入评估表达式:

new PackageImports(metadata).getPackageNames();

计算结果:

将配置类@SpringBootApplication标注的类所在包及下面所有子包里的所有组件扫描到spring容器。

三、Spring Boot自动配置原理

点击@SpringBootApplication,再点击@EnableAutoConfiguration进入类文件。

@Import(AutoConfigurationImportSelector.class)

public @interface EnableAutoConfiguration {

给容器中导入一些组件的选择器。

点击进入AutoConfigurationImportSelector.class文件,可以看到getCandidateConfigurations方法。

启动debug对方法进行断点调试,可以看到配置数据。

这些自动配置类给我们当前项目的场景提供了一些组件和配置,有了自动配置就免除类手动编写配置文件,注入等等功能。

该jar包提供一系列的配置类,替换掉了我们的XML配置信息。

默认加载如下配置文件

对于Spring Boot的启动分析简单到这里,有兴趣可以按照上述操作进行源代码详细分析。


?博客主页:https://lansonli.blog.csdn.net?欢迎点赞 ? 收藏 ⭐留言 ? 如有错误敬请指正!?本文由 Lansonli 原创,首发于 CSDN博客??停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨

点击全文阅读


本文链接:http://m.zhangshiyu.com/post/53292.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 为了给我妈鸣冤,我在我爸六十大寿上毒翻全场(苏恒苏洛),为了给我妈鸣冤,我在我爸六十大寿上毒翻全场
  • 完结文老婆把女儿送给师弟练手后,后悔疯了列表_完结文老婆把女儿送给师弟练手后,后悔疯了(沈安姜向玉)
  • 白月光守寡后,夫君要纳她为妾留青赵恒完本_白月光守寡后,夫君要纳她为妾(留青赵恒)
  • 全书浏览妻子叫我转八十万给实习生(顾祁秦冉)_妻子叫我转八十万给实习生(顾祁秦冉)全书结局
  • 全文男友拿我的生活费给我开亲密付(夏染陈政)列表_全文男友拿我的生活费给我开亲密付
  • 大数据助力,我把妈妈告上法庭欣欣妈妈完本_大数据助力,我把妈妈告上法庭(欣欣妈妈)
  • 年薪百万后,我主动要求给穷光蛋生儿子(李明李小花)全书浏览_年薪百万后,我主动要求给穷光蛋生儿子全书浏览
  • 全书浏览年薪百万后,我主动要求给穷光蛋生儿子(李明李小花)_年薪百万后,我主动要求给穷光蛋生儿子(李明李小花)全书结局
  • 此生明月不照君全书萧景珩陆云峥林婉柔在线
  • 完结文老公说要和月嫂同住,我前男友打爆他的头列表_完结文老公说要和月嫂同住,我前男友打爆他的头(白薇沈皓)
  • 药店让我给老公的第二春赵毅完本_药店让我给老公的第二春(赵毅)
  • 地球停服后我在云端求生(庄语心贝克)_地球停服后我在云端求生庄语心贝克

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1