
- Spring Boot 教程
- Spring Boot - 首頁
- Spring Boot - 簡介
- Spring Boot - 快速入門
- Spring Boot - 引導
- Spring Tool Suite
- Spring Boot - Tomcat 部署
- Spring Boot - 構建系統
- Spring Boot - 程式碼結構
- Spring Bean 和依賴注入
- Spring Boot - 執行器
- Spring Boot - 啟動器
- Spring Boot - 應用程式屬性
- Spring Boot - 配置
- Spring Boot - 註解
- Spring Boot - 日誌記錄
- 構建 RESTful Web 服務
- Spring Boot - 異常處理
- Spring Boot - 攔截器
- Spring Boot - Servlet 過濾器
- Spring Boot - Tomcat 埠號
- Spring Boot - Rest 模板
- Spring Boot - 檔案處理
- Spring Boot - 服務元件
- Spring Boot - Thymeleaf
- 使用 RESTful Web 服務
- Spring Boot - CORS 支援
- Spring Boot - 國際化
- Spring Boot - 排程
- Spring Boot - 啟用 HTTPS
- Spring Boot - Eureka 伺服器
- 使用 Eureka 註冊服務
- 閘道器代理伺服器和路由
- Spring Cloud 配置伺服器
- Spring Cloud 配置客戶端
- Spring Boot - 執行器
- Spring Boot - 管理伺服器
- Spring Boot - 管理客戶端
- Spring Boot - 啟用 Swagger2
- Spring Boot - 使用 SpringDoc OpenAPI
- Spring Boot - 建立 Docker 映象
- 跟蹤微服務日誌
- Spring Boot - Flyway 資料庫
- Spring Boot - 傳送郵件
- Spring Boot - Hystrix
- Spring Boot - WebSocket
- Spring Boot - 批處理服務
- Spring Boot - Apache Kafka
- Spring Boot - Twilio
- Spring Boot - 單元測試用例
- Rest Controller 單元測試
- Spring Boot - 資料庫處理
- 保護 Web 應用程式
- Spring Boot - 使用 JWT 的 OAuth2
- Spring Boot - Google Cloud Platform
- Spring Boot - Google OAuth2 登入
- Spring Boot 資源
- Spring Boot - 快速指南
- Spring Boot - 有用資源
- Spring Boot - 討論
Spring Boot - 簡介
Spring Boot 是一個開源的基於 Java 的框架,用於建立微服務。它由 Pivotal 團隊開發,用於構建獨立且可用於生產環境的 Spring 應用程式。本章將向您介紹 Spring Boot,並使您熟悉其基本概念。
什麼是微服務?
微服務是一種架構,允許開發人員獨立開發和部署服務。每個執行的服務都有自己的程序,這實現了輕量級模型來支援業務應用程式。
微服務是一種架構方法,其中單個應用程式由許多小型、鬆散耦合且可獨立部署的元件或服務組成。微服務是自治的:每個微服務可以獨立開發、部署和操作,而不會影響其他服務。
在單體架構中,所有程序都作為單個服務執行,緊密耦合。微服務將應用程式分解成獨立的元件,每個元件都作為單獨的服務執行。
微服務的優勢
微服務為其開發人員提供了以下優勢:
- 易於部署
- 簡單的可擴充套件性
- 與容器相容
- 最少配置
- 生產時間更短
什麼是 Spring Boot?
Spring Boot 為 Java 開發人員提供了一個良好的平臺,可以開發一個獨立且可用於生產環境的 Spring 應用程式,您可以直接執行。您可以透過最少的配置開始,而無需設定整個 Spring 配置。
優勢
Spring Boot 為其開發人員提供了以下優勢:
- 易於理解和開發 Spring 應用程式
- 提高生產力
- 減少開發時間
目標
Spring Boot 的設計目標如下:
- 避免在 Spring 中使用複雜的 XML 配置
- 以更簡單的方式開發可用於生產環境的 Spring 應用程式
- 減少開發時間並獨立執行應用程式
- 提供一種更簡單的應用程式入門方式
為什麼要使用 Spring Boot?
您可以選擇 Spring Boot,因為它提供瞭如下所示的功能和優勢:
它提供了一種靈活的方式來配置 Java Bean、XML 配置和資料庫事務。
它提供強大的批處理功能並管理 REST 端點。
在 Spring Boot 中,所有內容都是自動配置的;無需手動配置。
它提供了基於註解的 Spring 應用程式
簡化依賴管理
它包含嵌入式 Servlet 容器
它是如何工作的?
Spring Boot 透過使用@EnableAutoConfiguration 註解根據您新增到專案中的依賴項自動配置您的應用程式。例如,如果 MySQL 資料庫位於您的類路徑中,但您尚未配置任何資料庫連線,則 Spring Boot 會自動配置一個記憶體資料庫。
Spring Boot 應用程式的入口點是包含@SpringBootApplication 註解和 main 方法的類。
Spring Boot 透過使用@ComponentScan 註解自動掃描專案中包含的所有元件。
Spring Boot 啟動器
對於大型專案,處理依賴管理是一項艱鉅的任務。Spring Boot 透過為開發人員提供一組依賴項來解決此問題,方便開發人員。
例如,如果您想使用 Spring 和 JPA 來訪問資料庫,只需在您的專案中包含spring-boot-starter-data-jpa 依賴項即可。
請注意,所有 Spring Boot 啟動器都遵循相同的命名模式spring-boot-starter- *,其中 * 表示應用程式的型別。
示例
檢視以下 Spring Boot 啟動器的解釋,以便更好地理解:
Spring Boot Starter Actuator 依賴項用於監控和管理您的應用程式。其程式碼如下所示:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
Spring Boot Starter Security 依賴項用於 Spring Security。其程式碼如下所示:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>
Spring Boot Starter Web 依賴項用於編寫 Rest 端點。其程式碼如下所示:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
Spring Boot Starter Thyme Leaf 依賴項用於建立 Web 應用程式。其程式碼如下所示:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
Spring Boot Starter Test 依賴項用於編寫測試用例。其程式碼如下所示:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> </dependency>
自動配置
Spring Boot 自動配置根據您在專案中新增的 JAR 依賴項自動配置您的 Spring 應用程式。例如,如果 MySQL 資料庫位於您的類路徑中,但您尚未配置任何資料庫連線,則 Spring Boot 會自動配置一個記憶體資料庫。
為此,您需要將@EnableAutoConfiguration 註解或@SpringBootApplication 註解新增到您的主類檔案中。然後,您的 Spring Boot 應用程式將自動配置。
觀察以下程式碼以更好地理解:
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @EnableAutoConfiguration public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
Spring Boot 應用程式
Spring Boot 應用程式的入口點是包含@SpringBootApplication 註解的類。此類應具有 main 方法以執行 Spring Boot 應用程式。@SpringBootApplication 註解包括自動配置、元件掃描和 Spring Boot 配置。
如果您將@SpringBootApplication 註解新增到類中,則無需新增@EnableAutoConfiguration、@ComponentScan 和@SpringBootConfiguration 註解。@SpringBootApplication 註解包含所有其他註解。
觀察以下程式碼以更好地理解:
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
元件掃描
Spring Boot 應用程式在應用程式初始化時掃描所有 Bean 和包宣告。您需要將@ComponentScan 註解新增到您的類檔案中以掃描您新增到專案中的元件。
觀察以下程式碼以更好地理解:
import org.springframework.boot.SpringApplication; import org.springframework.context.annotation.ComponentScan; @ComponentScan public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }