spring-boot - Spring Boot

Created at: 2012-10-19 23:02:57
Language: Java
License: Apache-2.0

= Spring 启动 图片:https://ci.spring.io/api/v1/teams/spring-boot/pipelines/spring-boot-3.1.x/jobs/build/badge[“构建状态”, link=“https://ci.spring.io/teams/spring-boot/pipelines/spring-boot-3.1.x?groups=Build”] 图片:https://badges.gitter.im/Join 聊天.svg[“聊天”,链接=https://gitter.im/spring-projects/spring-boot?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge”] 图片:https://img.shields.io/badge/Revved%20up%20by-Gradle%20Enterprise-06A0CE?logo=Gradle&labelColor=02303A[“Revved up by Gradle Enterprise”, link=“https://ge.spring.io/scans?&search.rootProjectNames=Spring%20Boot%20Build&search.rootProjectNames=spring-boot-build”] :d ocs: https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference :github: https://github.com/spring-projects/spring-boot

Spring Boot 可帮助你以绝对最少的麻烦创建 Spring 驱动的生产级应用程序和服务。它对Spring平台有一个固执己见的观点,以便新老用户可以快速获得他们需要的部分。

你可以使用 Spring Boot 创建独立的 Java 应用程序,这些应用程序可以使用更传统的 WAR 部署来启动。我们还提供了一个运行 Spring 脚本的命令行工具。

java -jar

我们的主要目标是:

  • 为所有 Spring 开发提供更快速、可广泛访问的入门体验。
  • 固执己见,但随着需求开始偏离默认值,请迅速让开。
  • 提供一系列大型项目通用的非功能性功能(例如,嵌入式服务器、安全性、指标、运行状况检查、外部化配置)。
  • 绝对无需生成代码,也无需 XML 配置。

== 安装和入门 {docs}/html/[参考文档] 包括详细的 {docs}/html/getting-started.html#getting-started-installing-spring-boot[安装说明] 以及全面的 {docs}/html/getting-started.html#getting-started-first-application[] 指南。

getting started

以下是Java中完整的Spring Boot应用程序的快速预告片:

[源,java,缩进=0]

import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.web.bind.annotation.*;

@RestController
@SpringBootApplication
public class Example {

	@RequestMapping("/")
	String home() {
		return "Hello World!";
	}

	public static void main(String[] args) {
		SpringApplication.run(Example.class, args);
	}

}

== 获取帮助 你在使用Spring Boot时遇到问题吗?我们希望提供帮助!

== 报告问题 Spring Boot 使用 GitHub 的集成问题跟踪系统来记录错误和功能请求。如果你想提出问题,请遵循以下建议:

  • 在记录错误之前,请搜索 {github}/issues[问题跟踪器]以查看是否有人已经报告了该问题。
  • 如果问题尚不存在,{github}/issues/new[创建新问题]。
  • 请在问题报告中提供尽可能多的信息。我们想知道你正在使用的 Spring 引导版本、操作系统和 JVM 版本。
  • 如果需要粘贴代码或包含堆栈跟踪,请使用 Markdown。+++''+++ 在文本前后进行转义。
  • 如果可能,请尝试创建复制问题的测试用例或项目,并将其附加到问题。

== 从源代码构建 你不需要从源代码构建来使用 Spring Boot(https://repo.spring.io[repo.spring.io]中的二进制文件),但如果你想尝试最新和最好的,可以使用 https://docs.gradle.org/current/userguide/gradle_wrapper.html[Gradle 包装器] 构建 Spring Boot 并将其发布到本地 Maven 缓存中。你还需要 JDK 17。

[缩进=0]

$ ./gradlew publishToMavenLocal

这将构建所有 jar 和文档,并将它们发布到本地 Maven 缓存中。它不会运行任何测试。如果要构建所有内容,请使用以下任务:

build

[缩进=0]

$ ./gradlew build

== 模块 Spring 引导中有几个模块。以下是快速概述:

=== spring-boot 主库,提供支持 Spring Boot 其他部分的功能。其中包括:

  • 该类,提供可用于编写独立 Spring 应用程序的静态便利方法。它的唯一工作是 创建和刷新适当的 春天 .
    SpringApplication
    ApplicationContext
  • 具有容器选择(Tomcat,Jetty或Undertow)的嵌入式Web应用程序。
  • 一流的外部化配置支持。
  • 方便的初始值设定项,包括对合理日志记录默认值的支持。
    ApplicationContext

=== Spring 引导自动配置 Spring 引导可以根据类路径的内容配置大部分典型应用程序。单个注释会触发 Spring 上下文的自动配置。

@EnableAutoConfiguration

自动配置尝试推断用户可能需要哪些 bean。例如,如果位于类路径上,并且用户尚未配置任何数据库连接,则他们可能希望定义内存中数据库。当用户开始定义自己的 bean 时,自动配置将始终退出。

HSQLDB

=== 弹簧启动器 初学者是一组方便的依赖项描述符,你可以将其包含在应用程序中。你可以获得所需的所有 Spring 和相关技术的一站式商店,而无需搜索示例代码和复制粘贴依赖项描述符的负载。例如,如果你想开始使用Spring和JPA进行数据库访问,请在你的项目中包括依赖关系,你就可以开始了。

spring-boot-starter-data-jpa

=== 弹簧启动执行器 执行器端点允许你监视应用程序并与之交互。弹簧引导执行器提供执行器端点所需的基础结构。它包含对执行器端点的注释支持。此模块提供了许多端点,包括 、 、 等等。

HealthEndpoint
EnvironmentEndpoint
BeansEndpoint

=== 弹簧引导执行器自动配置 这根据类路径的内容和一组属性为执行器端点提供自动配置。例如,如果千分尺位于类路径上,它将自动配置 .它包含通过 HTTP 或 JMX 公开端点的配置。就像 Spring Boot AutoConfiguration 一样,当用户开始定义自己的 bean 时,这将退出。

MetricsEndpoint

=== 弹簧启动测试 此模块包含核心项和注释,在测试应用程序时会有所帮助。

=== 弹簧引导测试自动配置 与其他 Spring 引导自动配置模块一样,弹簧引导测试自动配置基于类路径为测试提供自动配置。它包括许多注释,可以自动配置需要测试的应用程序切片。

=== 弹簧引导加载程序 Spring 引导加载程序提供了秘密武器,允许你构建可以使用 启动的单个 jar 文件。通常,你不需要直接使用,而是使用link:spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin[Gradle]或link:spring-boot-project/spring-boot-tools/spring-boot-maven-plugin[Maven]插件。

java -jar
spring-boot-loader

=== spring-boot-devtools spring-boot-devtools 模块提供了额外的开发时功能,例如自动重启,以获得更流畅的应用程序开发体验。运行完全打包的应用程序时,开发人员工具会自动禁用。

== 指南 https://spring.io/[spring.io] 站点包含几个指南,逐步展示了如何使用 Spring Boot:

== 许可证 Spring Boot 是在 https://www.apache.org/licenses/LICENSE-2.0.html[Apache 2.0 许可证] 下发布的开源软件。