SpringBoot原理分析

102 阅读1分钟

起步依赖

本质是依赖传递

自动配置

核心注解

@SpringBootApplication

标注是SpringBoot的启动类。 此注解等同于 @SpringBootConfiguration + @EnableAutoConfiguration + @ComponentScan

@SpringBootConfiguration

@SpringBootConfiguration 是 @Configuration 的派生注解,跟 @Configuration 功能一 致,标注这个类是一个配置类,只不过 @SpringBootConfiguration 是 Springboot的注解,而 @Configuration 是Spring的注解

@EnableAutoConfiguration

SpringBoot自动配置注解。 等同于 @AutoConfigurationPackage + @Import(AutoConfigurationImportSelector.class)

@AutoConfigurationPackage

自动扫描包的注解,它会自动扫描主类所在包下所有加了注解的类(@Controller,@Service等),以及配置类(@Configuration)。

@Import({AutoConfigurationImportSelector.class})

该注解会导入 AutoConfifigurationImportSelector 类对象,该对象会从 META-INF/spring.factories 文件中读取配置类的名称列表。

@ComponentScan

该注解会扫描项目,自动装配一些项目启动需要的Bean。