特性一:依赖管理
1.父项目做依赖管理
依赖管理 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.4.RELEASE</version> </parent> 上面项目的父项目如下: <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>2.3.4.RELEASE</version> </parent> 它几乎声明了所有开发中常用的依赖的版本号,自动版本仲裁机制
2.starter场景启动器
- 见到很多 spring-boot-starter-* : *就某种场景
- 只要引入starter,这个场景的所有常规需要的依赖我们都自动引入
- 更多SpringBoot所有支持的场景
- 见到的 *-spring-boot-starter: 第三方为我们提供的简化开发的场景启动器。
所有场景启动器的最底层的依赖是spring-boot-starter <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <version>2.3.4.RELEASE</version> <scope>compile</scope> </dependency>
3.无需关注版本号
引入依赖默认可以不写版本号
4.修改默认版本号
当项目中默认的依赖版本号不满足我们需要的时候。我们可以在pom.xml中修改默认版本号(maven的就近原则。有就用我们自己的版本,没有去找父项目的)
例如我们要修改mysql的版本 <properties> <mysql.version>5.1.43</mysql.version> </properties>
特性二:自动配置
1.自动配好tomcat
引入tomcat依赖
配置tomcat
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <version>2.3.4.RELEASE</version> <scope>compile</scope> </dependency>
2.自动配好了springMVC
3.自定配好了Web常见功能,比如字符串编码问题依赖
4.默认的包结构:主程序上级目录下的所有类自动扫描。我们也可以修改
想要修改扫描包,在主程序的注解修改为@SpringBootApplication(scanBasePackages=“com.chen”)
5.各种配置
各种配置都会映射到某个类上,不同的配置映射的类不同,比如:映射到某个类上MultipartProperties
配置文件中的每个值也会绑定到每个类上。这个类会在容器中创建对象
7.按需加载自动配置项
很多的场景启动器starter,引入了这个场景,他的一些配置才会开启