一、自动配置原理
1、pom.xml 分析
pom.xml 中存放着大量的jar包依赖,我们在引入SpringBoot依赖的时候,不需要指定版本控制,因为存在这个版本仓库。
2、启动器
- 像这样的
spring-boot-starter-web
依赖 就是通过启动器加载,通过启动器帮我们自动导入web环境的所有依赖 - 在SpringBoot中将所有的场景,变成了一个个的启动器来执行
- 我们需要什么场景,就只需要找到对应的启动器即可
3、主程序
默认的主启动类:
package com.zyh;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
//标注了这个类是SpringBoot的应用
@SpringBootApplication
public class Spring01HelloworldApplication {
public static void main(String[] args) {
//启动了一个服务
SpringApplication.run(Spring01HelloworldApplication.class, args);
}
}
点进@SpringBootApplication
注解,其中三个重要的注解
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = {
@Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
@ComponentSca