打开springboot的配置文件pom.xml(maven项目的核心配置文件),通过深入其父项目,可以查看其调用关系。
通过两层的深入后,就到底了。最底层的是spring-boot-dependencies项目,它也在我们的本地仓库里。
spring-boot-dependencies有两大作用:
(1)存放springboot项目的核心依赖。并且都写好了依赖的版本号。
(2)我们导入springboot项目依赖时候不需要指定版本,就因为有这些版本仓库。
2. 启动器org.springframework.boot spring-boot-starter-weborg.springframework.boot spring-boot-starter-testtest
(1)启动器就是springboot的启动场景。springboot会将一个个的启动场景都变成一个个的启动器。
(2)比如spring-boot-starter-web,他就会帮我们导入web场景所需要的所有依赖。
(3)我们要使用什么功能,只需要找到对应的启动器starter就行了。官网中给出了所有的starter.
Developing with Spring Boot
二、主程序我们通过主程序来看一下,是怎样对一个项目进行自动装配的。
//@SpringBootApplication 标注这个类是一个springboot的应用
@SpringBootApplication
public class Springboot01Application {
public static void main(String[] args) {
//将springboot应用启动
SpringApplication.run(Springboot01Application.class, args);
}
}
然后,我们深入@SpringBootApplication这个注解,可以看到这个注解主要由下面这两个注解组成。
然后我们继续深入这两个注解。
@SpringBootConfiguration :springboot的配置
@Configuration :spring配置类
@Component: 最底层是组件,说明springboot的配置也是一个spring的组件
@EnableAutoConfiguration :自动装配
@AutoConfigurationPackage :自动配置包
@import(AutoConfigurationPackages.Registrar.class) :自动配置‘包注册’
@import(AutoConfigurationimportSelector.class):自动配置‘导入选择’
再深入
结论:
(1)springboot所有自动配置都是在启动的时候扫描并加载的
(2)所有的自动配置类都在spring.factories里面。但是里面的类不一定生效,只有导入对应的启动器starter,自动装配就会生效,配置成功!
原博客的总结:



