SpringBoot自动装配原理

  1. @SpringBootApplication注解

    • 这是Spring Boot启动类上的一个注解,它是一个复合注解,主要由@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan三个子注解组成。
    • @SpringBootConfiguration:标注当前类为配置类。
    • @EnableAutoConfiguration:开启自动配置功能,它包含了@AutoConfigurationPackage@Import(AutoConfigurationImportSelector.class)两个注解。
      • @AutoConfigurationPackage:将主配置类(指的是使用了@SpringBootApplication注解的类)所在包及子包里面的所有组件扫描并加载到Spring容器中。
      • @Import(AutoConfigurationImportSelector.class):用于导入需要自动配置的类。
    • @ComponentScan:扫描当前包及子包的注解。
  2. SpringFactoriesLoader和spring.factories文件

    • Spring Boot通过SpringFactoriesLoader类来加载META-INF/spring.factories文件中的配置。这个文件位于第三方jar包中,用于指定需要自动配置的类。
    • spring.factories文件中,以EnableAutoConfiguration为键,列出了所有需要自动配置的类。
  3. 条件注解

    • Spring Boot使用条件注解(如@ConditionalOnClass@ConditionalOnMissingBean@ConditionalOnProperty等)来确定是否需要进行自动配置。这些注解基于条件评估,根据一定的条件来判断是否需要进行自动配置。
  4. 自动配置类

    • 每个Starter依赖都包含一个或多个自动配置类,这些自动配置类使用条件注解来判断是否需要进行自动配置。自动配置类通常包含@Configuration注解,其中定义了各种bean的创建和配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值