@SpringBootApplication注解

@SpringBootApplication注解:

在这里插入图片描述

@SpringBootApplication注解有下面的三个核心注解组成:

在这里插入图片描述

  • @SpringBootConfiguration
  • @EnableAutoConfiguration
  • @ComponentScan

1.@SpringBootConfiguration

在这里插入图片描述

可以看到@SpringBootConfiguration其实也是个@Configuration

  • @Configuration是什么

@Configuration的作用:
就是将一个类做成JavaConfig类,能够将其中的bean设置到Spring的IOC容器中

  • @Configuration的用法
@Configuration
public class ConfigDemo{
	
	@Bean
	public DemoBean demoBean(){
		return new DeamBean();
	}
}

其中@Bean 的作用就是将方法返回的值作为实例注入到IOC容器中,并且在当前的程序上下文中起作用,并且该实例的ID默认为方法名;

@SpringbootConfiguartion的作用还有另外一个就是将当前的启动类做为一个扩展类,当有额外的配置要配置时,直接@import即可

在这里插入图片描述

2. @ComponentScan

在这里插入图片描述

简单的来说就是扫描其他的组件,比如@Component,@Service 等组件,并且将其加载到IOC容器中

3. @EnableAutoConfiguration

SpringBoot中最为重要的组件

在这里插入图片描述

其中最为关键的就是:

AutoConfigurationImportSelector.class

在其源代码的316行

我们可以看到:
在这里插入图片描述

这里引用了Spring自带的工具:SpringFactoriesLoader

在这里插入图片描述
我们在这里可以看到,其实这个工具是去读取当前包下面的"META-INF/spring.factories"的这个文件,可以看到这个文件中全是配置类的 全限定名

在这里插入图片描述

那么拿到了全限定名之后,就可以通过反射机制获取对应的实例并且注入到IOC容器中

简单总结:

@SpringBootApplication的作用就是:

首先通过@Configuration将该启动类做成一个配置类

然后通过@EnableAutoConfiguration去扫描SpringBoot中符
合条件的配置类,并且将其自动注入到IoC容器中

最后就是通过@Component去扫描其他的组件,并且将其扫描到IoC容器中

至此为止,所有的组件都组成完毕,当然就可以启动了

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值