Skip to content

Starter分类

1. 基础 Starters

这些是构建任何 Spring Boot 应用程序的基础。

  • spring-boot-starter:核心 Starter,包含自动配置支持、日志和 YAML。
  • spring-boot-starter-test:用于测试的 Starter,包括 JUnit、Mockito、Hamcrest、JSONassert 等。

2. Web 开发 Starter

用于构建 Web 应用程序和服务。

  • spring-boot-starter-web:包含了构建 Web,包括 RESTful 应用所需的依赖(如 Tomcat 和 Spring MVC)。
  • spring-boot-starter-webflux:非阻塞式 Web 框架,基于 Reactor 的响应式编程模型。
  • spring-boot-starter-thymeleaf:模板引擎 Thymeleaf 的集成。
  • spring-boot-starter-freemarker, spring-boot-starter-mustache:其他模板引擎的支持。

3. 数据访问 Starter

用于数据库和其他数据存储技术的集成。

  • spring-boot-starter-data-jpa:JPA(Java Persistence API)与 Hibernate 的集成。
  • spring-boot-starter-data-rest:通过 Spring Data REST 将仓库公开为 REST 资源。
  • spring-boot-starter-data-mongodb, spring-boot-starter-data-elasticsearch, spring-boot-starter-data-cassandra, spring-boot-starter-data-neo4j, spring-boot-starter-data-gemfire, spring-boot-starter-data-redis:NoSQL 数据库的支持。
  • spring-boot-starter-jdbc:纯 JDBC 支持。
  • spring-boot-starter-data-r2dbc:响应式关系型数据库连接。

4. 消息中间件 Starter

用于消息传递和事件驱动架构。

  • spring-boot-starter-amqp:RabbitMQ 集成。
  • spring-boot-starter-activemq, spring-boot-starter-artemis:ActiveMQ 和 Artemis 的集成。
  • spring-boot-starter-kafka:Kafka 集成。
  • spring-cloud-stream:用于构建消息驱动的微服务应用。

5. 安全和认证 Starter

用于保护应用程序的安全。

  • spring-boot-starter-security:集成 Spring Security。
  • spring-boot-starter-oauth2-client, spring-boot-starter-oauth2-resource-server:OAuth2 客户端和资源服务器支持。

6. 监控和管理 Starter

提供生产就绪的功能,如健康检查、度量指标等。

  • spring-boot-starter-actuator:提供生产就绪功能,例如健康检查、度量收集等。
  • micrometer-spring-legacy:Micrometer 是一个计量库,支持多种监控系统。

7. 开发工具 Starter

帮助提高开发效率。

  • spring-boot-devtools:开发工具包,提供热部署、自动重启等功能。
  • spring-boot-configuration-processor:生成元数据文件,有助于 IDE 提供更好的代码补全和验证。

8. 云原生和分布式系统 Starter

支持构建云原生应用和分布式系统的组件。

  • spring-cloud-starter-netflix-eureka-client, spring-cloud-starter-netflix-hystrix, spring-cloud-starter-openfeign, spring-cloud-starter-config, spring-cloud-starter-sleuth, spring-cloud-starter-zipkin:Spring Cloud 组件,用于服务发现、断路器、API Gateway、配置管理等。

9. 其他 Starter

除了上述分类外,还有许多特定用途的 Starter,例如:

  • spring-boot-starter-mail:用于发送电子邮件。
  • spring-boot-starter-cache:集成缓存机制。
  • spring-boot-starter-validation:Bean 验证支持。

以上只是部分官方提供的 Starter 列表。随着 Spring Boot 生态系统的不断发展,新的 Starter 不断被添加进来。你可以根据项目的具体需求选择合适的 Starter 来简化开发过程。同时,社区也提供了大量的第三方 Starter,可以进一步扩展 Spring Boot 的功能。