Spring Boot起步依赖说的是什么

在没有使用Spring Boot前,我们向项目添加依赖需要考虑以下几点:

  • 要添加什么库
  • 添加的库Group和Artifact是什么
  • 用的哪个版本,这个版本会不会和其他依赖产生冲突

由此引申出起步依赖:
Spring Boot 通过起步依赖来帮助管理项目的依赖。先选一个最基本的起步依赖 spring-boot-starter-web,看下里面是什么:

<dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter</artifactId>
      <version>2.1.0.RELEASE</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-json</artifactId>
      <version>2.1.0.RELEASE</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-tomcat</artifactId>
      <version>2.1.0.RELEASE</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.hibernate.validator</groupId>
      <artifactId>hibernate-validator</artifactId>
      <version>6.0.13.Final</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>5.1.2.RELEASE</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>5.1.2.RELEASE</version>
      <scope>compile</scope>
    </dependency>
  </dependencies>

可以看到spring-boot-starter-web这个起步依赖里有spring-boot-starterspring-boot-starter-jsonspring-boot-starter-tomcathibernate-validatorspring-webspring-webmvc几个依赖
得出结论:起步依赖其实就是特殊的Maven依赖或者是Gradle依赖(这里示例用的是maven),他把几个常用库聚合在了一起,利用传递依赖解析,组成了为特定功能而成的依赖。


这时候有了起步依赖,我们如果再开发什么功能,不用再去考虑需要引入什么库的问题,而是直接导入对应的起步依赖就好。同时,我们也不用再考虑库的版本和兼容问题,要知道,这些起步依赖都是经过严谨测试的,怎么会坑呢,放心使用啦。

你可能感兴趣的:(Spring,Boot,spring,boot,起步依赖)