先在pom.xml文件中引入配置依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
<version>2.1.4.RELEASE</version>
</dependency>
位于启动类上的核心注解@SpringBootApplication
这个SpringBootApplication注解是一个复合注解
- 第一个注解是 @SpringBootConfiguration,底层是一个@Configuration注解,声明当前类是一个配置类
- 第二个注解是@ComponentScan,是一个组件扫描,spring会扫描引导类所在的包及子包下的组件(主类包下的所有类)
- 第三个注解是@EnableAutoConfiguration,底层是通过@Import注解导入一个AutoConfigurationImportSelector配置类,这个配置类会自动调用 selectImports 方法,这个方法会去扫描 META-INF/spring.factories的文件中Key为EnableAutoConfiguration的所有数据,同时还会扫描 META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 中的数据,再经过@CondtionalXxx的条件判断,把满足条件的内容加载到内存中,封装成一字符串数组
启动类中的run方法
SpringApplication.run(TliasApplication.class, args);
这个方法会把上面注解实现加载到内存中的字符串数组根据条件反射创建对象,把对象当作bean注入到Spring容器中
标签:扫描,配置,SpringBoot,spring,自动化,boot,springframework,注解,原理 From: https://www.cnblogs.com/hmxjc/p/18002045