已發布·持續改進
Framework · 2014 年發布
Spring Boot 是適用於 Java 與 Kotlin 的伺服器框架,只需極少設定即可建立可獨立執行、適用於正式環境的 Spring 應用程式。
Spring Boot 建構在 Spring Framework 之上,用來快速建立可獨立執行、達到正式環境水準的應用程式。1.0 版於 2014 年發布,現在由 Broadcom 的 Spring 團隊與社群一起以開源方式開發。自動設定會依類別路徑準備你可能需要的 Bean,starter 則把每項功能所需的相依套件打包在一起,因此不必撰寫 XML 或冗長設定就能直接開始寫程式。
Spring Boot 廣泛用於重視可靠性與可維護性的伺服器應用程式,例如 REST API、微服務、企業業務系統與批次作業。它與 Spring Data、Spring Security、Spring Batch 等 Spring 專案自然整合;由於應用程式以內嵌 Web 伺服器的單一可執行 JAR 交付,也很適合容器與雲端平台。Actuator 提供健康檢查、指標等維運功能。
入門時,先安裝 JDK,在 Spring Initializr(start.spring.io)產生含 web 相依套件的專案,再跟著官方指南 Building a RESTful Web Service 實際操作。接著理解相依性注入與自動設定的原理,並逐步學習 Spring Data JPA 與測試支援。官方參考文件詳細說明了每項功能與設定屬性。
依類別路徑中的函式庫與你的設定,自動設定 Web 伺服器、資料來源、JSON 轉換等 Bean;若你自行定義了同類 Bean,則以你的為準。
依 Web、資料存取、安全性、測試等功能提供經過驗證的相依套件組合,不必自行摸索彼此相容的函式庫版本。
Tomcat 等 Web 伺服器在應用程式內部執行,一個 JAR 就能用 java -jar 啟動,也能直接建置成容器映像檔。
Actuator 提供健康、指標與環境資訊端點,外部化設定與 Profile 讓各環境的設定井然有序。
Spring Boot 在 JVM 上執行,因此需要 JDK。支援的 Java 版本請查看官方文件中的系統需求,建議使用最新的 LTS 版本。Gradle 與 Maven 由專案附帶的包裝器下載,不必另外安裝。
java -version從 Spring Initializr 下載含 web 相依套件的專案。使用 start.spring.io 網頁或 IntelliJ IDEA、VS Code 的新增專案精靈,結果都相同。
curl https://start.spring.io/starter.zip -d dependencies=web -d baseDir=demo -o demo.zip && unzip demo.zip用 Gradle 包裝器執行應用程式後,內嵌 Web 伺服器會在 8080 連接埠等待請求。Maven 專案請使用 ./mvnw spring-boot:run,Windows 上請使用 gradlew.bat bootRun。
cd demo && ./gradlew bootRun@SpringBootApplication 標示應用程式進入點,並啟用自動設定與元件掃描;main 方法中的 SpringApplication.run 會啟動應用程式及其內嵌 Web 伺服器。這個類別同時是 @RestController,並以 @GetMapping 對應路徑,因此執行 ./gradlew bootRun 後,在瀏覽器開啟 http://localhost:8080/ 就會看到 Hello, World!。
src/main/java/com/example/demo/DemoApplication.java
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@GetMapping("/")
public String hello() {
return "Hello, World!";
}
}
./gradlew bootRun共六章,帶你從安裝一步步認識 Spring Boot 的核心概念。
在這裡提問、分享經驗,交流關於 Spring Boot 的看法。
還沒有討論。來發起第一則吧。
0 則留言
登入 · 登入後即可留言。
來留下第一則留言吧。