|
对于最新稳定版本,请使用 Spring Boot 4.0.4! |
构建系统
强烈建议您选择一个支持依赖管理、并且能够使用发布到 Maven Central 仓库的构件的构建系统。 我们推荐您选择 Maven 或 Gradle。 虽然也可以让 Spring Boot 与其他构建系统(例如 Ant)一起工作,但它们并未得到特别良好的支持。
依赖管理
每个版本的Spring Boot都会提供一个它所支持的依赖项列表。 在实际操作中,您无需在其构建配置中为这些任何依赖项指定版本号,因为Spring Boot会为您管理这一点。 当您升级Spring Boot本身时,这些依赖项也会以一致的方式进行更新。
| 您仍然可以指定版本并覆盖 Spring Boot 的推荐设置,如果需要的话。 |
该精选列表包含了所有可以与 Spring Boot 一起使用的 Spring 模块,以及经过精炼的第三方库列表。
该列表以标准物料清单(spring-boot-dependencies)的形式提供,并且可以与 Maven 和 Gradle 一起使用。
| 每个版本的 Spring Boot 都与 Spring 框架的一个基础版本相关联。 我们强烈建议您不要指定其版本。 |
Ant
可以使用Apache Ant+Ivy构建一个Spring Boot项目。
Ant的“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.5.12" />
<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>
如果不希望使用spring-boot-antlib模块,请参阅《如何从Ant构建可执行存档而不使用spring-boot-antlib》部分中的“如何-to指南”。 |
Starters
Starters 是一组方便的依赖描述符,你可以将其包含在你的应用中。
你无需通过查找示例代码和复制粘贴大量的依赖描述符就能获得所需的全部 Spring 及相关技术。
例如,如果你想使用 Spring 和 JPA 进行数据库访问,请将 spring-boot-starter-data-jpa 依赖添加到你的项目中。
starters 包含了启动项目所需的大多数依赖项,可以快速并一致地运行项目,并且具有受支持的管理传递依赖集。
以下应用Starters由 Spring Boot 在 org.springframework.boot 组下提供:
| 姓名 | <description> </description> |
|---|---|
核心Starters,包括自动配置支持、日志记录和YAML |
|
使用 Apache ActiveMQ 的 JMS 消息Starters |
|
使用Spring AMQP和RabbitMQ的Starters |
|
面向切面编程的启动项,使用Spring AOP和AspectJ |
|
使用 Apache Artemis 的 JMS 消息Starters |
|
使用Spring批处理的起步指南 |
|
使用 Spring 框架缓存支持的Starters |
|
使用 Cassandra 分布式数据库和 Spring Data Cassandra 的Starters |
|
使用Cassandra分布式数据库和Spring Data Cassandra Reactive的入门指南 |
|
使用Couchbase文档导向数据库和Spring Data Couchbase的Starters |
|
使用Couchbase文档导向数据库和Spring Data Couchbase Reactive 的起步指南 |
|
使用Elasticsearch搜索和分析引擎以及Spring Data Elasticsearch的入门引导 |
|
Spring Data JDBC 使用starter |
|
使用 Spring Data JPA 与 Hibernate 的Starters |
|
Spring Data LDAP 使用starter |
|
使用 MongoDB 文档型数据库和 Spring Data MongoDB 的起步指南 |
|
使用 MongoDB 文档数据库和 Spring Data MongoDB 响应式starter |
|
使用 Neo4j 图数据库和 Spring Data Neo4j 的入门指南 |
|
使用 Spring Data R2DBC 的 Starter |
|
使用 Spring Data Redis 和 Lettuce 客户端与 Redis 键值存储的数据存储器 starter |
|
使用 Spring Data Redis 响应式库和 Lettuce 客户端与 Redis 键值数据存储结合的Starters |
|
使用 Spring Data REST 和 Spring MVC 暴露 Spring Data 仓库的 REST 起点 |
|
使用FreeMarker 视图构建MVC网络应用程序的入门包 |
|
使用 Spring GraphQL 构建 GraphQL 应用程序的入门指南 |
|
使用 Groovy Templates 视图构建 MVC Web 应用程序的入门包 |
|
基于 Spring MVC 和 Spring HATEOAS 构建超媒体驱动的RESTful Web 应用程序的 Starter |
|
使用Spring Integration 的入门指南 |
|
使用HikariCP 连接池的JDBC Starter |
|
用于构建基于 JAX-RS 和 Jersey 的 RESTful Web 应用程序的Starters。它是 |
|
用于通过 JDBC 访问 SQL 数据库的 jOOQ Starters。 |
|
JSON读写入门 |
|
使用Java Mail和Spring框架发送电子邮件的Starters |
|
使用Mustache视图构建Web应用程序的起步 |
|
使用 Spring Authorization Server 功能的入门指南 |
|
使用 Spring Security性模块的 OAuth2 和 OpenID Connect 客户端功能的Starters |
|
使用 Spring Security 的 OAuth2 资源服务器功能的入门指南 |
|
使用 Spring 连接 Apache Pulsar 的入门指南 |
|
使用Spring进行Apache Pulsar 响应式编程的Starters |
|
使用Quartz调度器的启动项 |
|
RSocket 客户端和服务器构建器 |
|
Spring Security 使用Starters |
|
使用 Starter 测试包含 JUnit Jupiter、Hamcrest 和 Mockito 库的 Spring Boot 应用程序 |
|
使用 Thymeleaf 视图构建 MVC Web 应用程序的 Starter |
|
使用 Java Bean 验证并结合 Hibernate Validator 的 Starter |
|
基于 Spring MVC 构建 Web 应用程序,包括 RESTful 应用。默认使用 Tomcat 作为嵌入式容器。 |
|
使用 Spring Web 服务的Starters |
|
使用 Spring Framework 的 Reactive Web 支持构建 WebFlux 应用程序的 Starter |
|
使用Spring框架MVC WebSocket支持构建WebSocket应用程序的Starters |
除了应用程序Starters之外,还可以使用以下Starters来添加生产就绪功能:
| 姓名 | <description> </description> |
|---|---|
使用 Spring Boot 的 Actuator 起始器,它提供了生产就绪功能,帮助您监控和管理您的应用程序 |
最终,Spring Boot 还包含了以下起步模块(starters),如果您想排除或替换特定的技术方面,可以使用这些模块:
| 姓名 | <description> </description> |
|---|---|
用于将 Jetty 作为嵌入式 Servlet 容器的Starters。 |
|
用于使用 Log4j2 进行日志记录的Starters。 |
|
使用 Logback 进行日志记录的 Starter。默认日志记录 Starter |
|
使用 Reactor Netty 作为嵌入式的响应式 HTTP 服务器的starter。 |
|
用于将 Tomcat 作为嵌入式 Servlet 容器的Starters。这是由 |
|
用于将 Undertow 作为嵌入式 Servlet 容器的Starters。 |
要了解如何更换技术组件,请参阅更换 Web 服务器和日志系统的操作指南文档。
对于其他社区贡献的Starters列表,请参见GitHub上https://github.com/spring-projects/spring-boot/tree/main/spring-boot-project/spring-boot-starters/README.adoc模块中的 |