1. <dependency>
    2. <groupId>org.springframework.boot</groupId>
    3. <artifactId>spring-boot-starter-web</artifactId>
    4. </dependency>

    从pom.xml中,我们点击spring-boot-starter-web,发现其中它把web中常用的webmvc、web、tomcat等依赖坐标进行了“打包”,来实现依赖传递的作用。这样一来,我们不需要一次导入webmvc、web、tomcat等依赖,而是直接导入spring-boot-starter-web就可以进行web开发。

    • starter
      • SpringBoot中常见的项目名称,定义了当前项目使用的所有依赖坐标,以达到减少依赖配置的目的
      • 也就是说之前要写七八个依赖,现在这七八个依赖都写入到starter中,只需要引入starter这个依赖就可以。
    • parent
      • 所有SpringBoot项目要继承的项目,定义了若干个坐标版本号(依赖管理,而非依赖),已达到减少依赖冲突的目的。(parent只是规定了如果要用它该用什么版本,而到底用不用是我们手工导入的starter决定的)。
      • spring-boot-starter-parent各个版本之间的坐标版本不同
    • 实际开发
      • 使用任意坐标时,仅书写GAV(groupId, artifactId, version)中的G和A,V由SpringBoot提供,除非SpringBoot未提供对应版本V
      • 如发生坐标错误,再指定Version(要小心版本冲突)


    小结:

    1. 开发SpringBoot程序需要导入坐标时通常导入对应的starter
    2. 每个不同的starter根据功能不同,通常包含多个依赖坐标
    3. 使用starter可以实现快速配置的效果,达到简化配置的目的