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