我是靠谱客的博主 包容百褶裙,最近开发中收集的这篇文章主要介绍SpringBoot依赖管理,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前言

通过编写SpringBoot的Hello Word我们体会到了SpringBoot的强大与便捷。 这些功能都是基于SpringBoot给我们提供的两大优秀特性:

  • 依赖管理
  • 自动配置

这篇主要记录SpringBoot的依赖管理:

在我们创建的SpringBoot项目中,pom.xml文件中,默认只导入了spring-boot-starter-parent父项目和pring-boot-starter-web web场景包,这样我们整个SpringBoot应用程序就可以启动运行,这是为什么,让我们一探究竟。

一、依赖管理

这个父项目的作用就是用来做依赖管理的,子项目写依赖就不需要写版本号了。

 <parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.5</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>

我们点进去spring-boot-starter-parent,发现它还有一个父项目

 <parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.5.5</version>
</parent>

再点进spring-boot-dependencies这个包,发现里面有的<properties> 里面几乎声明了我们开发的所有jar包(我这里为了页面简简洁,删除了好多,用了。。。省略),声明了很多jar包的依赖,所以我们不用写版本号。

<properties>
<activemq.version>5.16.3</activemq.version>
<antlr2.version>2.7.7</antlr2.version>
<appengine-sdk.version>1.9.91</appengine-sdk.version>
<artemis.version>2.17.0</artemis.version>
<aspectj.version>1.9.7</aspectj.version>
<assertj.version>3.19.0</assertj.version>
<atomikos.version>4.0.6</atomikos.version>
<awaitility.version>4.0.3</awaitility.version>
<build-helper-maven-plugin.version>3.2.0</build-helper-maven-plugin.version>
<byte-buddy.version>1.10.22</byte-buddy.version>
<caffeine.version>2.9.2</caffeine.version>
<cassandra-driver.version>4.11.3</cassandra-driver.version>
<classmate.version>1.5.1</classmate.version>
。。。。。。
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-amqp</artifactId>
<version>${activemq.version}</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-blueprint</artifactId>
<version>${activemq.version}</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-broker</artifactId>
<version>${activemq.version}</version>
</dependency>
<dependency>
。。。。。

导入jar包

比如:我们要在我们的项目中使用mysql的驱动包,那只需要在我们的项目pom.xml文件中引入mysql驱动的依赖Maven坐标,无需写版本号,就会自动引入jar包。

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>

导入自己想要的版本(不想使用Springboot导入的依赖版本)

如果我们需要自己想要版本号的jar包,按照spring-boot-dependencies定义好的依赖名称(查看spring-boot-dependencies里面规定当前依赖的版本 用的 key)重新导入需要的版本。

 // 自定义版本号
<properties>
<mysql.version>5.1.43</mysql.version>
<properties/>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>

二、场景启动器

我们创建的Springboot项目,开发web项目,我们无需导入很多依赖jar包,比如Spring, SpringMVC 等web开发所需要的jar的依赖,这是因为Springboot默认导入的spring-boot-starter-web场景启动器, 会帮我们导入所有web相关的jar包依赖。

starter是一组依赖的集合描述,只要引入一个starter,它的整个完整开发场景就被全部引入了。

 <dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>

进入spring-boot-starter-web可以看到,其所依赖的依赖jar坐标,其中最基本的核心依赖就是

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

最后

以上就是包容百褶裙为你收集整理的SpringBoot依赖管理的全部内容,希望文章能够帮你解决SpringBoot依赖管理所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部