06、基础入门-SpringBoot-依赖管理特性

06、基础入门-SpringBoot-依赖管理特性

Spring Boot 的依赖管理特性是其核心优势之一,极大地简化了项目的构建和维护过程。以下是其主要特点:

1. 父项目依赖管理

1.1 继承 `spring-boot-starter-parent`

在 `pom.xml` 文件中,通过继承 `spring-boot-starter-parent`,项目可以自动获得 Spring Boot 提供的依赖管理功能:

```xml

<parent>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-parent</artifactId>

<version>3.1.0</version>

</parent>

```

1.2 自动版本仲裁

`spring-boot-starter-parent` 的父项目是 `spring-boot-dependencies`,其中定义了几乎所有常用依赖的版本号。因此,引入依赖时通常无需指定版本:

```xml

<dependencies>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

</dependency>

</dependencies>

```

1.3 自定义依赖版本

如果需要覆盖默认版本,可在 `pom.xml` 的 `<properties>` 标签中指定:

```xml

<properties>

<mysql.version>8.0.29</mysql.version>

</properties>

```

2. 场景启动器(Starter)

2.1 什么是 Starter

Starter 是 Spring Boot 提供的一组预定义的依赖集合,用于快速引入特定场景所需的所有依赖。例如:

  • `spring-boot-starter-web`:包含构建 Web 应用所需的依赖,如 Spring MVC、Tomcat 等。

  • `spring-boot-starter-data-jpa`:包含使用 JPA 进行数据库访问的依赖。

2.2 使用 Starter

只需在 `pom.xml` 中添加相应的 Starter 依赖即可:

```xml

<dependencies>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

</dependency>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-data-jpa</artifactId>

</dependency>

</dependencies>

```

2.3 Starter 分类

  • **Application starters**:针对特定应用场景,如 `spring-boot-starter-web`。

  • **Production starters**:用于生产环境监控和管理,如 `spring-boot-starter-actuator`。

  • **Technical starters**:提供技术基础设施支持,如 `spring-boot-starter-amqp`。

3. 依赖冲突解决

3.1 依赖冲突检测

Spring Boot 在构建时会检测依赖冲突,并提供解决建议。

3.2 排除冲突依赖

可使用 `<exclusions>` 标签排除不需要的依赖:

```xml

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

<exclusions>

<exclusion>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-tomcat</artifactId>

</exclusion>

</exclusions>

</dependency>

```

4. 最佳实践

  • **使用官方推荐版本**:尽量使用 Spring Boot 提供的默认依赖版本,确保兼容性。

  • **最小化依赖范围**:仅引入实际需要的依赖,避免引入不必要的依赖。

  • **定期更新依赖**:关注依赖的更新情况,及时升级到最新的稳定版本。


通过以上依赖管理特性,Spring Boot 帮助开发者简化了依赖管理,提高了项目的可维护性和开发效率。

相关推荐
猿究院_夏燊3 小时前
Spring Bean 生命周期
java·后端·spring
小程故事多_804 小时前
从 Tokenizer 到 Next Token,穿透数据流,完整理解 Transformer 底层逻辑
android·深度学习·transformer
CCblandy4 小时前
雪花 ID 四个边界实测:时钟回拨重号 500 个,前端 JSON.parse 直接丢精度
后端·python·算法·性能优化·架构
我是人✓4 小时前
SpringBoot项目的五种创建方式
java·spring boot·后端
念念清晰6 小时前
000-OpenJDK17 源码构建:MacOS环境(M芯片)
java·后端
来福猿6 小时前
SpringCloud Config 源码分析:配置拉取、刷新与多环境管理
后端·spring·spring cloud
古法老登瞎折腾7 小时前
大数据智能运维实战(一):机器和任务数据都有了,如何用 MCP 搭建运维助手?
大数据·运维·spring boot·spring ai·mcp
三少爷的鞋7 小时前
Android 协程实践:为什么不应将 `supervisorScope` 作为常规方案
android
企业数字化笔记8 小时前
多租户配额怎么控制?用量口径、并发预留与超额处理的实现方法
java·数据库·spring boot
IT_陈寒8 小时前
React组件莫名重渲染?你可能忘了这个小细节
前端·人工智能·后端