Springboot进阶之Springboot运行原理

Springboot使用到的主要的几个注解

Springboot进阶之Springboot运行原理
首先我们可以看到,在Spring boot运行类中有一个 @SpringBootApplication 注解,让我们来看一看@SpringBootApplication 注解中到底包含了哪些秘密。
Springboot进阶之Springboot运行原理
通过@SpringBootApplication 注解源码中我们可以看出其中主要有@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan三大主要的注解,接下来让我们一一来了解它们吧

@SpringBootConfiguration

功能:表明是一个Springboot的配置类

@Configuration

Springboot进阶之Springboot运行原理
功能:标明这是一个配置类

@Component

Springboot进阶之Springboot运行原理
功能:把本类加载到spring容器中

@EnableAutoConfiguration

功能:开启自动配置功能

@AutoConfigurationPackage

功能:自动配置包

@Import({Registrar.class})

功能:会把在启动类的上级包中的所有的注解对应的组件扫描到我们的spring容器中来,就是我们平常写的controller,service,mapper等。

@Import({AutoConfigurationImportSelector.class})

功能:自动配置导入选择器,根据项目来判断,你的项目需要哪些配置信息,然后把默认的配置信息导入到spring容器中进行管理

@ComponentScan

功能:组件扫描和自动装配,用来指定扫描容器的范围。

层级图:

Springboot进阶之Springboot运行原理

由于水平有限,博客中难免会有一些错误,有纰漏之处恳请各位大佬不吝赐教!