Pom文件的依赖与starter启动器的作用

Posted 流楚丶格念

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pom文件的依赖与starter启动器的作用相关的知识,希望对你有一定的参考价值。

文章目录

Pom文件的依赖

我们进入POM文件,首先是看到的是Pom文件中的parent

parent是Spring Boot的框架版本控制中心

<!--    导入springboot版本和框架依赖     -->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.6.3</version>
    <relativePath></relativePath>
</parent>

点进去看一下parent是如何控制版本的。点进去之后,发现它也有一个父工程

它的父工程为spring-boot-dependencies,看到名字应该想到,是springboot的依赖。同时还有其他东西。再点进去,看到里面有<dependencyManagement>,管理各种依赖的版本。



到这里就差不多理解了parent是如何控制版本的。

我们创建的springboot工程是spring-boot-start-parent的子工程,spring-boot-starter-parentspring-boot-denpendencies的子工程,父工程通过dependencyManagement控制了各种依赖的版本。所以当子工程导入依赖时,可以不写版本,自动使用父工程规定的版本,以此来进行版本的控制。

spring-boot场景启动器

starter:spring-boot场景启动器

我们以web启动器为例:

<!--    导入动态web场景启动器    -->
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

我们还是点进去看到spring-boot-starter-web的内容:

<dependencies>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
    <version>2.6.3</version>
    <scope>compile</scope>
  </dependency>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-json</artifactId>
    <version>2.6.3</version>
    <scope>compile</scope>
  </dependency>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <version>2.6.3</version>
    <scope>compile</scope>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>5.3.15</version>
    <scope>compile</scope>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.3.15</version>
    <scope>compile</scope>
  </dependency>
</dependencies>

可以看到里面集成了web开发的其他依赖,也就是说通过添加Spring-boot-starter-web依赖,它就导入了web环境所有的依赖,只需导入starter,可自动导入web模块正常运行所依赖的组件。其他的starter也是一样的。

springboot出厂默认就写好了很多starter,如:
spring-boot-starter-activemq,spring-boot-starter-aop,spring-boot-starter-data-redis,spring-boot-starter-data-solr等

重要提示:Spring Boot将所有的绝大部分框架整合场景都进行了抽取,做成一个个的starters(启动器),只需要在项目里面引入这些starter相关整合所需的依赖都会导入进来

以上是关于Pom文件的依赖与starter启动器的作用的主要内容,如果未能解决你的问题,请参考以下文章

开发一个属于自己的Spring Boot Starter

SpringBoot - FileStorage Starter场景启动器

SpringBoot - FileStorage Starter场景启动器

导入spring-boot-starter-test依赖报错?

spring-boot-starter-amqp 依赖导致 ***Error

SpringBoot 之Spring Boot Starter依赖包及作用(自己还没有看)