Spring Boot 可協助您輕鬆建立由 Spring 驅動的生產級應用程式和服務。它採用了 Spring 平台的固執己見的觀點,以便新用戶和現有用戶可以快速獲得他們需要的部分。
您可以使用 Spring Boot 建立獨立的 Java 應用程序,這些應用程式可以使用java -jar
或更傳統的 WAR 部署來啟動。我們也提供了一個運行 Spring 腳本的命令列工具。
我們的主要目標是:
為所有 Spring 開發提供更快、更廣泛的入門體驗。
固執己見,但當需求開始偏離預設值時,請迅速擺脫困境。
提供大型專案中常見的一系列非功能特性(例如,嵌入式伺服器、安全性、指標、運作狀況檢查、外部化配置)。
完全不需要產生程式碼,也不需要 XML 配置。
參考文件包括詳細的安裝說明以及全面的getting started
指南。
以下是 Java 中完整 Spring Boot 應用程式的快速預覽:
導入 org.springframework.boot.*;導入 org.springframework.boot.autoconfigure.*;導入 org.springframework.web.bind.annotation.*;@RestController@SpringBootApplicationpublic 類別 範例 {@RequestMapping("/")Stringping("/")String home( ) {返回“你好世界!”; }public static void main(String[] args) {SpringApplication.run(Example.class, args); } }
您在使用 Spring Boot 時遇到問題嗎?我們想提供協助!
查看參考文檔,尤其是操作指南—它們提供了最常見問題的解決方案。
學習 Spring 基礎知識-Spring Boot 建構在許多其他 Spring 專案之上;檢查 spring.io 網站以取得大量參考文件。如果您是 Spring 新手,請嘗試其中一個指南。
如果您要升級,請閱讀發行說明以取得升級說明和「值得注意的新功能」。
提出問題-我們監控 stackoverflow.com 上是否有帶有spring-boot
標籤的問題。您也可以在 Gitter 上與社群聊天。
在 github.com/spring-projects/spring-boot/issues 報告 Spring Boot 的錯誤。
Spring Boot 使用 GitHub 的整合式問題追蹤系統來記錄錯誤和功能請求。如果您想提出問題,請遵循以下建議:
在記錄錯誤之前,請搜尋問題追蹤器以查看是否有人已經報告了該問題。
如果該問題尚不存在,請建立一個新問題。
請在問題報告中提供盡可能多的信息。我們想了解您正在使用的 Spring Boot 版本、作業系統和 JVM 版本。
如果您需要貼上程式碼或包含堆疊跟踪,請使用 Markdown。 ``` 在文本之前和之後轉義。
如果可能,請嘗試建立複製問題的測試案例或專案並將其附加到問題中。
您不需要從原始程式碼建置來使用 Spring Boot(repo.spring.io 中的二進位檔案),但如果您想嘗試最新且最好的,可以使用 Gradle 建立 Spring Boot 並將其發佈到本機 Maven 快取包裝紙。您還需要 JDK 17。
$ ./gradlewpublishToMavenLocal
這將建置所有 jar 和文件並將它們發佈到本機 Maven 快取。它不會運行任何測試。如果您想建立所有內容,請使用build
任務:
$ ./gradlew 構建
Spring Boot中有幾個模組。以下是一個快速概述:
主庫提供支援 Spring Boot 其他部分的功能。這些包括:
SpringApplication
類,提供可用於編寫獨立 Spring 應用程式的靜態便利方法。它的唯一工作是創建和刷新適當的 Spring ApplicationContext
。
可選擇容器(Tomcat、Jetty 或 Undertow)的嵌入式 Web 應用程式。
一流的外部化配置支援。
方便的ApplicationContext
初始化程序,包括對合理日誌記錄預設值的支援。
Spring Boot 可以根據類別路徑的內容配置大部分典型應用程式。單一@EnableAutoConfiguration
註解會觸發 Spring 上下文的自動設定。
自動配置嘗試推斷使用者可能需要哪些 bean。例如,如果HSQLDB
位於類別路徑上,且使用者尚未配置任何資料庫連接,那麼他們可能想要定義一個記憶體資料庫。當使用者開始定義自己的 bean 時,自動設定將始終退出。
Starters 是一組方便的依賴描述符,您可以將其包含在應用程式中。您可以獲得所需的所有 Spring 和相關技術的一站式商店,而無需尋找範例程式碼和複製貼上依賴描述符負載。例如,如果您想開始使用 Spring 和 JPA 進行資料庫訪問,請在專案中包含spring-boot-starter-data-jpa
依賴項,然後就可以開始了。
執行器端點可讓您監視應用程式並與應用程式互動。 Spring Boot Actuator 提供了執行器端點所需的基礎架構。它包含對執行器端點的註解支援。該模組提供了許多端點,包括HealthEndpoint
、 EnvironmentEndpoint
、 BeansEndpoint
等等。
這為執行器端點提供了基於類別路徑的內容和一組屬性的自動配置。例如,如果 Micrometer 位於類別路徑上,它將自動配置MetricsEndpoint
。它包含透過 HTTP 或 JMX 公開端點的設定。就像 Spring Boot AutoConfigure 一樣,當使用者開始定義自己的 bean 時,這將會消失。
此模組包含在測試應用程式時很有幫助的核心專案和註解。
與其他 Spring Boot 自動配置模組一樣, spring-boot-test-autoconfigure 為基於類別路徑的測試提供自動配置。它包含許多註釋,可以自動配置需要測試的應用程式的一部分。
Spring Boot Loader 提供了秘密武器,讓您可以建立可以使用java -jar
啟動的單一 jar 檔案。通常,您不需要直接使用spring-boot-loader
,而是使用 Gradle 或 Maven 外掛程式。
spring-boot-devtools 模組提供了額外的開發時功能,例如自動重啟,以獲得更流暢的應用程式開發體驗。執行完全打包的應用程式時,開發人員工具會自動停用。
spring.io 網站包含多個指南,示範如何逐步使用 Spring Boot:
使用 Spring Boot 建立應用程式是一個介紹性指南,向您展示如何建立、執行應用程式以及添加一些管理服務。
使用 Spring Boot Actuator 建立 RESTful Web 服務是建立 REST Web 服務的指南,也展示如何設定伺服器。
Spring Boot 是在 Apache 2.0 許可下發布的開源軟體。