Spring Boot Starter 是一组方便使用的依赖描述符,在代码中引用 Starter 可以获取所需的所有 Spring 和相关技术的一站式服务,无需查看示例代码或复制粘贴依赖的库文件。譬如,如果需要使用 Spring JPA 访问数据库,可以在工程中直接引用spring-boot-starter-data-jpa
。
所有官方的 Starter 都遵循统一的命名规范:spring-boot-starter-*
,其中*
指特定的应用程序代码或名称。任何第三方提供的 Starter 都不能以spring-boot
作为前缀,应以应用程序代号或名称作为前缀,如thirdpartyproject-spring-boot-starter
。
Spring Boot 官方提供的 Starter 包括:
-
spring-boot-starter
:核心 Starter,包括支持自动配置、日志和 YAML。 -
spring-boot-starter-activemq
:支持使用 Apache ActiveMQ 作为 JMS 消息服务。 -
spring-boot-starter-amqp
:支持使用 Spring AMQP 和 RabbitMQ。 -
spring-boot-starter-aop
:支持使用 Spring AOP 和 AspectJ 进行切面编程。 -
spring-boot-starter-artemis
:支持使用 Apache Artemis 作为 JMS 消息服务。 -
spring-boot-starter-batch
:支持使用 Spring Batch。 -
spring-boot-starter-cache
:支持使用 Spring 框架缓存。 -
spring-boot-starter-data-cassandra
:支持使用 Cassandra 分布式数据库和 Spring Data Cassandra。 -
spring-boot-starter-data-cassandra-reactive
:支持使用 Cassandra 分布式数据库和 Spring Data Cassandra Reactive。 -
spring-boot-starter-data-couchbase
:支持使用 Couchbase 文档数据库和 Spring Data Couchbase。 -
spring-boot-starter-data-couchbase-reactive
:支持使用 Couchbase 文档数据库和 Spring Data Couchbase Reactive。 -
spring-boot-starter-data-elasticsearch
:支持使用 Elasticsearch 作为搜索分析引擎和 Spring Data Elasticsearch。 -
spring-boot-starter-data-jdbc
:支持使用 Spring Data JDBC。 -
spring-boot-starter-data-jpa
:支持使用 Spring Data JPA 和 Hibernate。 -
spring-boot-starter-data-ldap
:支持使用 Spring Data LDAP。 -
spring-boot-starter-data-mongodb
:支持使用 MongoDB 文档数据库和 Spring Data MongoDB。 -
spring-boot-starter-data-mongodb-reactive
:支持使用 MongoDB 文档数据库和 Spring Data MongoDB Reactive。 -
spring-boot-starter-data-neo4j
:支持使用 Neo4j 图数据库和 Spring Data Neo4j。 -
spring-boot-starter-data-r2dbc
:支持使用 Spring Data R2DBC。 -
spring-boot-starter-data-redis
:支持使用 Redis 缓存和 Spring Data Redis、Lettuce 客户端。 -
spring-boot-starter-data-redis-reactive
:支持使用 Redis 缓存和 Spring Data Redis Reactive、Lettuce 客户端。 -
spring-boot-starter-data-rest
:支持使用 REST 方式暴露 Spring Data Repositories。 -
spring-boot-starter-freemarker
:支持使用 FreeMarker 构建 MVC Web 应用。 -
spring-boot-starter-groovy-templates
:支持使用 Groovy Templates 构建 MVC Web 应用。 -
spring-boot-starter-hateoas
:支持使用 Spring MVC 和 Spring HATEOAS 构建超媒体的 RESTful Web 应用。 -
spring-boot-starter-integration
:支持使用 Spring Integration。 -
spring-boot-starter-jdbc
:支持使用 HikariCP 数据库连接池。 -
spring-boot-starter-jersey
:支持使用 JAX-RS 和 Jersey 构建 RESTful Web 应用,替代spring-boot-starter-web
。 -
spring-boot-starter-jooq
:支持使用 jOOQ 访问 SQL 数据库,替代spring-boot-starter-data-jpa
或spring-boot-starter-jdbc
。 -
spring-boot-starter-json
:支持读写 json。 -
spring-boot-starter-jta-atomikos
:启用 Atomikos 支持 JTA 事务。 -
spring-boot-starter-mail
:支持使用 Java Mail 和 Spring 提供的邮件发送功能。 -
spring-boot-starter-mustache
:支持使用 Mustache 构建 Web 应用。 -
spring-boot-starter-oauth2-client
:支持使用 Spring Security 提供的 OAuth2/OpenID 连接客户端特性。 -
spring-boot-starter-oauth2-resource-server
:支持使用 Spring Security 提供的 OAuth2 资源服务器特性。 -
spring-boot-starter-quartz
:支持使用 Quartz 定时器。 -
spring-boot-starter-rsocket
:支持构建 RSocket 客户端和服务器。 -
spring-boot-starter-security
:支持使用 Spring Security。 -
spring-boot-starter-test
:支持使用 JUnit Jupiter,Hamcrest 和 Mockito 库测试 Spring Boot 应用。 -
spring-boot-starter-thymeleaf
:支持使用 Thymeleaf 构建 MVC Web 应用。 -
spring-boot-starter-validation
:支持基于 Hibernate Validator 的 Java Bean 校验。 -
spring-boot-starter-web
:支持使用 Spring MVC 构建 Web 应用,包括 RESTful 应用,使用 Tomcat 作为默认的嵌入式容器。 -
spring-boot-starter-web-services
:支持使用 Spring Web Services。 -
spring-boot-starter-webflux
:支持使用 Spring 框架的响应式 Web 支持构建 WebFlux 应用。 -
spring-boot-starter-websocket
:支持使用 Spring 框架的 WebSocket 支持构建 WebSocket 应用。 -
spring-boot-starter-actuator
:支持使用 Spring Boot Actuator 提供生产级别的应用程序监控和管理功能。 -
spring-boot-starter-jetty
:支持使用 Jetty 作为嵌入式 Servlet 容器。 -
spring-boot-starter-log4j2
:支持使用 Log4j2 记录日志。 -
spring-boot-starter-logging
:支持使用 Logback 记录日志(默认)。 -
spring-boot-starter-reactor-netty
:支持使用 Reactor Netty 作为嵌入式 Reactive HTTP 服务器。 -
spring-boot-starter-tomcat
:支持使用 Tomcat 作为嵌入式 Servlet 容器,是spring-boot-starter-web
默认支持的 Servlet 容器。 -
spring-boot-starter-undertow
:支持使用 Undertow 作为嵌入式 Servlet 容器。