1、版本仲裁
在POM文件中,引入spring boot父项目:
<!-- 继承Spring Boot的父项目 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.8.RELEASE</version>
</parent>
他继承的父项目是spring-boot-dependencies,他(spring-boot-dependencies)来真正管理spring boot应用里面的所有依赖版本
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.0.8.RELEASE</version>
<relativePath>../../spring-boot-dependencies</relativePath>
</parent>
因此我们导入的依赖默认是不需要写版本,但是没有在spring-boot-dependencies里面管理的依赖自然需要声明版本
2、导入的依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
spring-boot-starter:spring boot 场景启动器,帮我们引入了web模块正常运行所依赖的组件;
二、@SpringBootApplication注解
2.1 @SpringBootApplication的作用
- 标注在类上
- 说明这个类是spring boot主配置类
- springboot就应该运行这个类的main方法来启动spring boot应用
2.2 @SpringBootConfiguration:Spring Boot的配置类
标注在某个类上,表示这是一个Spring Boot的配置类
2.2.1 @Configuration
配置类上标注这个注解,spring的配置类(容器中的一个组件)
2.3 @EnableAutoConfiguration
开启自动配置功能,告诉spring boot开启自动配置功能
2.3.1 @AutoConfigurationPackage
自动配置包,将主配置类(@SpringBootApplication标注的类)的所在包及下面所有子包里面的所有组件扫描到Spring容器;
@Import(AutoConfigurationPackages.Registrar.class)
@Import(AutoConfigurationImportSelector.class)
导入那些组件扫描器