-
@SpringBootApplication注解:
- 这是Spring Boot启动类上的一个注解,它是一个复合注解,主要由
@SpringBootConfiguration
、@EnableAutoConfiguration
和@ComponentScan
三个子注解组成。 @SpringBootConfiguration
:标注当前类为配置类。@EnableAutoConfiguration
:开启自动配置功能,它包含了@AutoConfigurationPackage
和@Import(AutoConfigurationImportSelector.class)
两个注解。@AutoConfigurationPackage
:将主配置类(指的是使用了@SpringBootApplication注解的类)所在包及子包里面的所有组件扫描并加载到Spring容器中。@Import(AutoConfigurationImportSelector.class)
:用于导入需要自动配置的类。
@ComponentScan
:扫描当前包及子包的注解。
- 这是Spring Boot启动类上的一个注解,它是一个复合注解,主要由
-
SpringFactoriesLoader和spring.factories文件:
- Spring Boot通过
SpringFactoriesLoader
类来加载META-INF/spring.factories
文件中的配置。这个文件位于第三方jar包中,用于指定需要自动配置的类。 - 在
spring.factories
文件中,以EnableAutoConfiguration
为键,列出了所有需要自动配置的类。
- Spring Boot通过
-
条件注解:
- Spring Boot使用条件注解(如
@ConditionalOnClass
、@ConditionalOnMissingBean
、@ConditionalOnProperty
等)来确定是否需要进行自动配置。这些注解基于条件评估,根据一定的条件来判断是否需要进行自动配置。
- Spring Boot使用条件注解(如
-
自动配置类:
- 每个Starter依赖都包含一个或多个自动配置类,这些自动配置类使用条件注解来判断是否需要进行自动配置。自动配置类通常包含
@Configuration
注解,其中定义了各种bean的创建和配置。
- 每个Starter依赖都包含一个或多个自动配置类,这些自动配置类使用条件注解来判断是否需要进行自动配置。自动配置类通常包含
SpringBoot自动装配原理
于 2024-07-27 10:45:46 首次发布