SpringBoot自动转配原理
 
pom.xml文件的依赖
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.4.RELEASE</version>
</parent>
 
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>
 
 
 
SpringBoot启动类
@SpringBootApplication  //它是一个派生注解
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
} 
 
 
通过@SpringBootApplication注解跟进去,
@EnableAutoConfiguration(自动开启配置)
而这个注解也是一个派生注解,其中的功能由@Import提供,其导入的AutoConfigurationImportSelector的selectImports()方法通过SpringFactoriesLoader.loadFactoryNames()扫描所有具有META-INF/spring.factories的jar包下面的spring-boot-autoconfigure-版本号.jar中有一个叫spring.factories配置文件
这个spring.factories文件是key=value的形式,其中一个key是EnableAutoConfiguration类的全类名,而它的value是一个列如:RedisAutoConfiguration的类名的列表,这些类名以逗号分隔,在spring.factories文件中定义了许多配置类, 可以根据在pom.xml中添加的启动器依赖自动配置组件
SpringBoot自动装配原理
原文:https://www.cnblogs.com/zxfirst/p/12555147.html