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-parent
是spring-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启动器的作用的主要内容,如果未能解决你的问题,请参考以下文章
SpringBoot - FileStorage Starter场景启动器
SpringBoot - FileStorage Starter场景启动器
导入spring-boot-starter-test依赖报错?