【Spring】SpringBoot 学习教程(六):@SpringBootApplication注解解析

简介

@SpringBootApplication是Spring Boot主函数必须添加的核心注解,主要用来开启自动配置

在这里插入图片描述
点击进去可以查看到 @SpringBootApplication 是由多个注解组合而成的,主要包括两个注解 @SpringBootConfiguration@EnableAutoConfiguration

在这里插入图片描述

1.@SpringBootConfiguration

Spring Boot的配置类:标注在某个类上,表示这是一个Spring Boot的配置类。内部实现:
在这里插入图片描述
主要注解:@Configuration:配置类上来标注这个注解;内部实现:
在这里插入图片描述
主要注解:@Componet
作用:将当前类内声明的一个或多个以@Bean注解标记的方法的实例纳入到spring容器中,并且实例名默认使用方法名。

2.@EnableAutoConfiguration

开启自动配置功能,以前我们需要配置的东西,Spring Boot帮我们自动配置。内部实现:
在这里插入图片描述
主要注解包括:@AutoConfigurationPackage@Import(AutoConfigurationImportSelector.class)

2.1 @AutoConfigurationPackage

内部实现:
在这里插入图片描述
@import:通过类信息给容器中导入一个组件。
此处由AutoConfigurationPackages.Registrar.class决定。
里面的实现我就不贴了,运行时将主配置所在包包名下的所有组件扫描到Spring容器中
例如主配置类是SpringBootTestApplication
项目目录结构是:在这里插入图片描述
扫描的包名为:com.example

2.2 @Import(AutoConfigurationImportSelector.class)

主要功能:会给容器中导入非常多(大概96个)的自动配置类(xxxAutoConfiguration);就是给容器中导入这个场景需要的所有组件,并配置好这些组件;免去了手动编写配置注入功能组件的工作。
在这里插入图片描述
SpringFactoriesLoader.loadFactoryNames(EnableAutoConfiguration.class,classLoader)

从类路径下META-INF/spring.factories中获取EnableAutoConfiguration指定的值,将这些值作为自动配置类导入到容器中,自动配置类就生效,帮我们进行自动配置工作。(以前需要自己配置)

总结

@SpringBootApplication注解主要实现了三个功能:

  1. 将当前类(主配置类)用注解标记的类纳入到spring容器。
  2. 将主配置所在包包名下的所有组件扫描到Spring容器中。
  3. 导入Spring Boot预定义的自动配置类。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值