SpringBoot自动装配原理
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中添加的启动器依赖自动配置组件

浙公网安备 33010602011771号