此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Boot 3.3.1

此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Boot 3.3.1

强烈建议您选择支持依赖项管理且可以使用发布到“Maven Central”存储库的项目的构建系统。 我们建议您选择 Maven 或 Gradle。 可以让 Spring Boot 与其他构建系统(例如 Ant)一起使用,但它们没有得到特别好的支持。

依赖关系管理

Spring Boot 的每个版本都提供了它支持的依赖项的精选列表。 在实践中,您不需要在构建配置中为任何这些依赖项提供版本,因为 Spring Boot 会为您管理该版本。 当您升级 Spring Boot 本身时,这些依赖项也会以一致的方式升级。

如果需要,您仍然可以指定版本并覆盖 Spring Boot 的建议。

精选列表包含可用于 Spring Boot 的所有 Spring 模块,以及第三方库的精细列表。 该列表以标准物料清单 () 的形式提供,可与 MavenGradle 一起使用。spring-boot-dependencies

Spring Boot 的每个版本都与 Spring Framework 的基础版本相关联。 强烈建议您不要指定其版本。
如果需要,您仍然可以指定版本并覆盖 Spring Boot 的建议。
Spring Boot 的每个版本都与 Spring Framework 的基础版本相关联。 强烈建议您不要指定其版本。

Maven

要了解如何将 Spring Boot 与 Maven 一起使用,请参阅 Spring Boot 的 Maven 插件的文档:

Gradle

要了解如何将 Spring Boot 与 Gradle 一起使用,请参阅 Spring Boot 的 Gradle 插件的文档:

蚂蚁

可以使用 Apache Ant+Ivy 构建 Spring Boot 项目。 “AntLib”模块也可用于帮助 Ant 创建可执行的 jar。spring-boot-antlib

若要声明依赖项,典型文件类似于以下示例:ivy.xml

<ivy-module version="2.0">
	<info organisation="org.springframework.boot" module="spring-boot-sample-ant" />
	<configurations>
		<conf name="compile" description="everything needed to compile this module" />
		<conf name="runtime" extends="compile" description="everything needed to run this module" />
	</configurations>
	<dependencies>
		<dependency org="org.springframework.boot" name="spring-boot-starter"
			rev="${spring-boot.version}" conf="compile" />
	</dependencies>
</ivy-module>

典型示例如下所示:build.xml

<project
	xmlns:ivy="antlib:org.apache.ivy.ant"
	xmlns:spring-boot="antlib:org.springframework.boot.ant"
	name="myapp" default="build">

	<property name="spring-boot.version" value="3.3.2-SNAPSHOT" />

	<target name="resolve" description="--> retrieve dependencies with ivy">
		<ivy:retrieve pattern="lib/[conf]/[artifact]-[type]-[revision].[ext]" />
	</target>

	<target name="classpaths" depends="resolve">
		<path id="compile.classpath">
			<fileset dir="lib/compile" includes="*.jar" />
		</path>
	</target>

	<target name="init" depends="classpaths">
		<mkdir dir="build/classes" />
	</target>

	<target name="compile" depends="init" description="compile">
		<javac srcdir="src/main/java" destdir="build/classes" classpathref="compile.classpath" />
	</target>

	<target name="build" depends="compile">
		<spring-boot:exejar destfile="build/myapp.jar" classes="build/classes">
			<spring-boot:lib>
				<fileset dir="lib/runtime" />
			</spring-boot:lib>
		</spring-boot:exejar>
	</target>
</project>
如果您不想使用该模块,请参阅 Build an Executable Archive from Ant without Using spring-boot-antlib “How-to” 。spring-boot-antlib
如果您不想使用该模块,请参阅 Build an Executable Archive from Ant without Using spring-boot-antlib “How-to” 。spring-boot-antlib

首先

启动器是一组方便的依赖项描述符,可以包含在应用程序中。 您可以获得所需的所有 Spring 和相关技术的一站式商店,而无需搜索示例代码和复制粘贴依赖项描述符负载。 例如,如果要开始使用 Spring 和 JPA 进行数据库访问,请在项目中包含依赖项。spring-boot-starter-data-jpa

启动器包含许多依赖项,您需要这些依赖项才能快速启动和运行项目,并具有一组一致的、受支持的托管传递依赖项。

名称中的内容

所有官方首发都遵循类似的命名模式;,其中 是特定类型的应用程序。 此命名结构旨在在您需要查找启动器时提供帮助。 许多 IDE 中的 Maven 集成允许您按名称搜索依赖项。 例如,在安装了相应的 Eclipse 或 Spring Tools 插件后,您可以按 POM 编辑器并键入“spring-boot-starter”以获取完整列表。spring-boot-starter-**ctrl-space

如“创建您自己的启动器”部分所述,第三方启动器不应以 开头,因为它是为官方 Spring Boot 工件保留的。 相反,第三方启动器通常以项目名称开头。 例如,名为 的第三方入门项目通常被命名为 。spring-bootthirdpartyprojectthirdpartyproject-spring-boot-starter

Spring Boot 在该组下提供了以下应用程序启动器:org.springframework.boot

表 1.Spring Boot 应用程序启动器
名字 描述

spring-boot-starter

核心启动器,包括自动配置支持、日志记录和 YAML

spring-boot-starter-activemq

使用 Apache ActiveMQ 的 JMS 消息传递入门

spring-boot-starter-amqp

使用 Spring AMQP 和 Rabbit MQ 的入门级

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 Framework 缓存支持的入门级

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

使用 Spring Data REST 和 Spring MVC 在 REST 上公开 Spring Data 存储库的 Starter

spring-boot-starter-freemarker

使用 FreeMarker 视图构建 MVC Web 应用程序的入门级

spring-boot-starter-graphql

使用 Spring GraphQL 构建 GraphQL 应用程序的入门级

spring-boot-starter-groovy-templates

使用 Groovy 模板视图构建 MVC Web 应用程序的入门级

spring-boot-starter-hateoas

使用 Spring MVC 和 Spring HATEOAS 构建基于超媒体的 RESTful Web 应用程序的入门级

spring-boot-starter-integration

使用 Spring Integration 的入门

spring-boot-starter-jdbc

将 JDBC 与 HikariCP 连接池配合使用的入门级

spring-boot-starter-jersey

使用 JAX-RS 和 Jersey 构建 RESTful Web 应用程序的入门级。spring-boot-starter-web 的替代方案

spring-boot-starter-jooq

使用 jOOQ 通过 JDBC 访问 SQL 数据库的入门级。spring-boot-starter-data-jpaspring-boot-starter-jdbc 的替代方案

spring-boot-starter-json

读取和写入 json 的入门

spring-boot-starter-mail

使用 Java Mail 和 Spring Framework 的电子邮件发送支持的入门级

spring-boot-starter-mustache

使用 Mustache 视图构建 Web 应用程序的入门级

spring-boot-starter-oauth2-authorization-server

使用 Spring 授权服务器功能的入门级

spring-boot-starter-oauth2-client

使用 Spring Security 的 OAuth2/OpenID Connect 客户端功能的入门级

spring-boot-starter-oauth2-resource-server

使用 Spring Security 的 OAuth2 资源服务器功能的入门级

spring-boot-starter-pulsar

将 Spring 用于 Apache Pulsar 的入门级

spring-boot-starter-pulsar-reactive

将 Spring 用于 Apache Pulsar Reactive 的入门级

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

将 Java Bean Validation 与 Hibernate Validator 配合使用的入门级

spring-boot-starter-web

使用 Spring MVC 构建 Web 应用程序(包括 RESTful)的入门级应用程序。使用 Tomcat 作为默认的嵌入容器

spring-boot-starter-web-services

使用 Spring Web 服务的入门级

spring-boot-starter-webflux

使用 Spring Framework 的 Reactive Web 支持构建 WebFlux 应用程序的入门级

spring-boot-starter-websocket

使用 Spring Framework 的 MVC WebSocket 支持构建 WebSocket 应用程序的入门级

除了应用程序启动器之外,以下启动器还可用于添加生产就绪功能:

表 2.Spring Boot 生产启动器
名字 描述

spring-boot-starter-actuator

使用 Spring Boot 的 Actuator 的入门级,它提供生产就绪功能来帮助您监控和管理您的应用程序

最后,Spring Boot 还包括以下启动器,如果要排除或交换特定的技术方面,可以使用这些启动器:

表 3.Spring Boot 技术入门
名字 描述

spring-boot-starter-jetty

使用 Jetty 作为嵌入式 servlet 容器的入门器。spring-boot-starter-tomcat 的替代品

spring-boot-starter-log4j2

使用 Log4j2 进行日志记录的入门级。spring-boot-starter-logging的替代方案

spring-boot-starter-logging

使用 Logback 进行日志记录的入门级。默认日志记录启动器

spring-boot-starter-reactor-netty

使用 Reactor Netty 作为嵌入式响应式 HTTP 服务器的入门。

spring-boot-starter-tomcat

使用 Tomcat 作为嵌入式 servlet 容器的入门。spring-boot-starter-web 使用的默认 servlet 容器启动器

spring-boot-starter-undertow

使用 Undertow 作为嵌入式 servlet 容器的入门。spring-boot-starter-tomcat 的替代品

要了解如何交换技术方面,请参阅交换 Web 服务器日志记录系统的操作文档。

有关其他社区贡献的启动者的列表,请参阅 GitHub 上模块中的 README 文件spring-boot-starters
表 1.Spring Boot 应用程序启动器
名字 描述

spring-boot-starter

核心启动器,包括自动配置支持、日志记录和 YAML

spring-boot-starter-activemq

使用 Apache ActiveMQ 的 JMS 消息传递入门

spring-boot-starter-amqp

使用 Spring AMQP 和 Rabbit MQ 的入门级

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 Framework 缓存支持的入门级

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

使用 Spring Data REST 和 Spring MVC 在 REST 上公开 Spring Data 存储库的 Starter

spring-boot-starter-freemarker

使用 FreeMarker 视图构建 MVC Web 应用程序的入门级

spring-boot-starter-graphql

使用 Spring GraphQL 构建 GraphQL 应用程序的入门级

spring-boot-starter-groovy-templates

使用 Groovy 模板视图构建 MVC Web 应用程序的入门级

spring-boot-starter-hateoas

使用 Spring MVC 和 Spring HATEOAS 构建基于超媒体的 RESTful Web 应用程序的入门级

spring-boot-starter-integration

使用 Spring Integration 的入门

spring-boot-starter-jdbc

将 JDBC 与 HikariCP 连接池配合使用的入门级

spring-boot-starter-jersey

使用 JAX-RS 和 Jersey 构建 RESTful Web 应用程序的入门级。spring-boot-starter-web 的替代方案

spring-boot-starter-jooq

使用 jOOQ 通过 JDBC 访问 SQL 数据库的入门级。spring-boot-starter-data-jpaspring-boot-starter-jdbc 的替代方案

spring-boot-starter-json

读取和写入 json 的入门

spring-boot-starter-mail

使用 Java Mail 和 Spring Framework 的电子邮件发送支持的入门级

spring-boot-starter-mustache

使用 Mustache 视图构建 Web 应用程序的入门级

spring-boot-starter-oauth2-authorization-server

使用 Spring 授权服务器功能的入门级

spring-boot-starter-oauth2-client

使用 Spring Security 的 OAuth2/OpenID Connect 客户端功能的入门级

spring-boot-starter-oauth2-resource-server

使用 Spring Security 的 OAuth2 资源服务器功能的入门级

spring-boot-starter-pulsar

将 Spring 用于 Apache Pulsar 的入门级

spring-boot-starter-pulsar-reactive

将 Spring 用于 Apache Pulsar Reactive 的入门级

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

将 Java Bean Validation 与 Hibernate Validator 配合使用的入门级

spring-boot-starter-web

使用 Spring MVC 构建 Web 应用程序(包括 RESTful)的入门级应用程序。使用 Tomcat 作为默认的嵌入容器

spring-boot-starter-web-services

使用 Spring Web 服务的入门级

spring-boot-starter-webflux

使用 Spring Framework 的 Reactive Web 支持构建 WebFlux 应用程序的入门级

spring-boot-starter-websocket

使用 Spring Framework 的 MVC WebSocket 支持构建 WebSocket 应用程序的入门级

表 2.Spring Boot 生产启动器
名字 描述

spring-boot-starter-actuator

使用 Spring Boot 的 Actuator 的入门级,它提供生产就绪功能来帮助您监控和管理您的应用程序

表 3.Spring Boot 技术入门
名字 描述

spring-boot-starter-jetty

使用 Jetty 作为嵌入式 servlet 容器的入门器。spring-boot-starter-tomcat 的替代品

spring-boot-starter-log4j2

使用 Log4j2 进行日志记录的入门级。spring-boot-starter-logging的替代方案

spring-boot-starter-logging

使用 Logback 进行日志记录的入门级。默认日志记录启动器

spring-boot-starter-reactor-netty

使用 Reactor Netty 作为嵌入式响应式 HTTP 服务器的入门。

spring-boot-starter-tomcat

使用 Tomcat 作为嵌入式 servlet 容器的入门。spring-boot-starter-web 使用的默认 servlet 容器启动器

spring-boot-starter-undertow

使用 Undertow 作为嵌入式 servlet 容器的入门。spring-boot-starter-tomcat 的替代品

有关其他社区贡献的启动者的列表,请参阅 GitHub 上模块中的 README 文件spring-boot-starters