Starter
在 Spring Boot 中,Starter(场景启动器) 是一种用于简化依赖管理的机制。它的核心作用是让你在项目中快速引入一整套常用依赖,而无需手动查找和添加每个单独的库。可以理解为“依赖的整合包”。
核心特点
一站式依赖管理
只需引入一个 starter,就能自动带入多个相关依赖。例如
spring-boot-starter-web会引入 Spring MVC、Tomcat、Jackson 等常用库。快速启动项目
通过 starter,你可以立即使用某项技术,而不用自己去找各种 jar 包或版本兼容问题。
统一的版本管理
Starter 内部的依赖都是经过 Spring Boot 官方管理的版本,避免了版本冲突和依赖混乱。
易于组合
可以根据项目需求组合多个 starter,例如同时引入
spring-boot-starter-data-jpa和spring-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。
