SpringBoot学习笔记(五)–HelloWorld细节-场景启动器(Starters)
通过对 Hello World 演示程序的细节探究,了解场景启动器(Starters)的相关概念
父项目
通过了解 spring initializr 生成的工程中 pom.xml 文件的内容,可以发现其依赖了一个父项目:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
找到 spring-boot-starter-parent-2.3.0.RELEASE.pom 的源码后,发现它所依赖的父项目:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.3.0.RELEASE</version>
<relativePath>../../spring-boot-dependencies</relativePath>
</parent>
spring-boot-dependencies 用于管理 Spring Boot 应用里面所有依赖的版本,即 Spring Boot 的版本仲裁中心。以后我们导入依赖时,默认是不需要写版本,但是没有在 dependencies 里面管理的依赖,需要声明版本号。
启动器 Starters
通过了解 spring initializr 生成的工程中 pom.xml 文件的内容,可以发现一个启动器:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
官网对 Starters 的介绍
Starters are a set of convenient dependency descriptors that you can include in your application. You get a one-stop shop for all the Spring and related technologies that you need without having to hunt through sample code and copy-paste loads of dependency descriptors. For example, if you want to get started using Spring and JPA for database access, include the spring-boot-starter-data-jpa dependency in your project.
The starters contain a lot of the dependencies that you need to get a project up and running quickly and with a consistent, supported set of managed transitive dependencies.
来源:
启动器 Starters 的作用
spring-boot-starter:spring-boot 场景启动器,帮我们导入了 Web 模块正常运行时所依赖的组件。
Spring Boot 将所有的功能场景都抽取出来,做成一个个的 Starters,只需要在项目中引入这些 Starters, 相关场景的所有依赖都会导入进来。要用什么功能就导入什么场景的启动器。