springboot系列二: sprintboot依赖管理

在这里插入图片描述


⬅️ 上一篇: springboot系列一: springboot初步入门


🎉 欢迎来到 springboot系列二: springboot依赖管理 🎉

在本篇文章中,我们将探讨如何管理 Spring Boot 项目的依赖。通过理解这些依赖管理机制,您可以更加轻松地配置和管理 Spring Boot 应用程序的各种库和插件。


🔧 本篇需要用到的项目: quickstart项目


依赖管理

什么是依赖管理

1.spring-boot-starter-parent 还有父项目, 声明了开发中常用的版本号.

2.并且进行 自动版本仲裁, 即如果程序员没有指定某个依赖 jar 的版本, 则以父项目指定的版本为准.在这里插入图片描述
在这里插入图片描述

修改自动仲裁/默认版本号

1.需求说明: 将SpringBoot mysql驱动修改成 5.1.49

在这里插入图片描述

2.查看spring-boot-dependencies.pom里面规定的当前依赖 的版本 的对应的 key, 这里是 mysql.version在这里插入图片描述

3.修改quickstart/pom.xml, 重写配置, 当更新Maven时, 就依赖到新的mysql驱动. 一句话: 父项目不能动, 两种方案均是修改本项目的pom文件.

在这里插入图片描述

两种方案

方式1

<dependencies>
    <!--我们自己指定mysql/驱动版本, 即修改版本仲裁
    1.方式1: 显示地导入mysql依赖, 并明确地指定version
    2.方式2: 在自己的pom.xml文件, 在<properties> 中指定mysql的key
    形如:
    <properties>
        <mysql.version>5.1.49</mysql.version>
    </properties>
    3.为什么可以达到修改版本仲裁: 根据依赖就近优先原则.
    -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.49</version>
    </dependency>
</dependencies>

方式2 在自己的pom.xml文件, 在<properties> 节点中指定mysql的key

<properties>
    <maven.compiler.source>8</maven.compiler.source>
    <maven.compiler.target>8</maven.compiler.target>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <!--这里我们可以指定mysql.version-->
    <mysql.version>5.1.49</mysql.version>
</properties>

<dependencies>
    <!--我们自己指定mysql/驱动版本, 即修改版本仲裁
    1.方式1: 显示地导入mysql依赖, 并明确地指定version
    2.方式2: 在自己的pom.xml文件, 在<properties> 中指定mysql的key
    形如:
    <properties>
        <mysql.version>5.1.49</mysql.version>
    </properties>
    3.为什么可以达到修改版本仲裁: 根据依赖就近优先原则.
    -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
</dependencies>

starter场景启动器

starter场景启动器基本介绍

1.开发中我们引入相关场景的starter, 这个场景中所有的相关依赖都引入进来了, 比如我们做web开发引入了spring-boot-starter-web, 该starter将导入与web开发相关的所有包.

在这里插入图片描述
在这里插入图片描述

2.依赖树: 可以看到 spring-boot-starter-web, 帮我们导入了spring-web, spring-webmvc开发模块, 还导入了tomcat的场景启动器spring-boot-starter-tomcat, spring-boot-starter-json场景, 这些场景下面又引出了一大堆相关的包, 这些依赖项可以快速启动和运行一个项目, 提高开发效率.

在这里插入图片描述在这里插入图片描述

3.所有场景启动器最基本的依赖就是spring-boot-starter, 前面的依赖树分析可以看到, 这个依赖也就是SpringBoot自动配置的核心依赖在这里插入图片描述

官方提供的starter

地址: https://docs.spring.io/spring-boot/docs/current/reference/html/using.html#using.build-systems.starters

介绍:
1.在开发中我们经常会用到spring-boot-starter-xxx, 比如spring-boot-starter-web, 该场景是用作web开发, 也就是说xxx是某种开发场景.

2.我们只需要引入starter, 这个场景的所有常规需要的依赖我们都自动引入.

3.SpringBoot2支持的所有场景如下:
在这里插入图片描述

第三方starter

1.SpringBoot也支持第三方starter

2.第三方starter不会从spring-boot开始, 因为这是官方spring-boot保留的命名方式. 第三方启动程序通常以项目名称开头. 例如, 名为 thirdpartyproject 的第三方启动程序项目通常被命名为 thirdpartyproject-spring-boot-starter.

3.也就是说: xxx-spring-boot-starter是第三方为我们提供的简化开发的场景启动器.

在这里插入图片描述


🔜 下一篇预告: springboot系列三: sprintboot自动配置


📚 目录导航 📚

  1. springboot系列一: springboot初步入门
  2. springboot系列二: sprintboot依赖管理
  3. springboot系列三: sprintboot自动配置
  4. springboot系列四: sprintboot容器功能
  5. springboot系列五: springboot底层机制实现 上
  6. springboot系列六: springboot底层机制实现 下
  7. springboot系列七: Lombok注解,Spring Initializr,yaml语法

💬 读者互动 💬
在依赖管理过程中,您遇到过哪些问题或有何建议?欢迎在评论区留言,让我们一起讨论吧!😊


  • 31
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

~ 小团子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值