springboot原理
自动装配
pom.xml
- spring-boot-dependencies:核心依赖(在父工程中)
- 在引入依赖时不需要指定版本就是因为有版本仓库
启动器
-
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency>
-
启动器就是springboot的启动场景;
- 比如spring-boot-starter-web就是帮助我们自动导入web环境所需的所有依赖
-
springboot会将所有的功能场景变为一个个的启动器,使用什么功能就找什么启动器即可
主程序
//程序的主入口 不可删改
//本身就是SpringBoot的一个组件
//@SpringBootApplication:标注这个类是springboot的应用
@SpringBootApplication
public class HelloworldApplication {
public static void main(String[] args) {
//将springboot应用启动
SpringApplication.run(HelloworldApplication.class, args);
}
}
-
注解
-
@SpringBootConfiguration : springboot的配置 @Configuration:spring配置类 @Component:说明这也是一个spring的组件 @EnableAutoConfiguration : 自动配置 @AutoConfigurationPackage:自动配置包 @Import({AutoConfigurationImportSelector.class}):自动配置导入选择 //获取所有的配置 List<String> configurations = this.getCandidateConfigurations(annotationMetadata, attributes); 操 看不懂了
-
-
SpringApplication主要做了四个事情
- 1.推断应用的类型是普通项目还是Web项目
- 2.查找并加载所有可用初始化器,设置到initialzers属性中
- 3.找出所有的应用程序监听器,设置到listeners属性中
- 4.推断并设置main方法的定义,找到运行的主类