Skip to content

Starter

Spring Boot 中,Starter(场景启动器) 是一种用于简化依赖管理的机制。它的核心作用是让你在项目中快速引入一整套常用依赖,而无需手动查找和添加每个单独的库。可以理解为“依赖的整合包”。

核心特点

  1. 一站式依赖管理

    只需引入一个 starter,就能自动带入多个相关依赖。例如 spring-boot-starter-web 会引入 Spring MVC、Tomcat、Jackson 等常用库。

  2. 快速启动项目

    通过 starter,你可以立即使用某项技术,而不用自己去找各种 jar 包或版本兼容问题。

  3. 统一的版本管理

    Starter 内部的依赖都是经过 Spring Boot 官方管理的版本,避免了版本冲突和依赖混乱。

  4. 易于组合

    可以根据项目需求组合多个 starter,例如同时引入 spring-boot-starter-data-jpaspring-boot-starter-web 来做 Web + 数据库访问。

官方Starter

所有官方的 Starter 都遵循类似的命名规则:spring-boot-starter-*,其中 * 表示特定类型的应用。这样的命名结构方便你在需要查找 starter 时快速定位。

  • spring-boot-starter-web:用于构建 Web 应用(含 REST API),自动引入 Spring MVC、Tomcat、Jackson。
  • spring-boot-starter-data-jpa:用于数据库访问,自动引入 Spring Data JPA、Hibernate 等。
  • spring-boot-starter-security:用于安全控制,包含 Spring Security 相关依赖。
  • spring-boot-starter-test:用于测试,包含 JUnit、Mockito、Spring Test 等。

第三方Starter

第三方的 starter 不应该以 spring-boot 开头,因为这个前缀保留给官方 Spring Boot 工件。第三方 starter 通常以项目名称开头。

例如,一个名为 thirdpartyproject 的第三方 starter 项目,通常会命名为 thirdpartyproject-spring-boot-starter