測試外部依賴,如REST API,在Web應用程序開發中可能具有挑戰性。網絡調用速度慢且不可靠,第三方服務可能不可用或返回意外數據。需要識別一種穩健的方法。
知識庫 / Spring RSS 訂閱
Spring 校驗語句
本教程將重點介紹和描述Spring Assert類的目的,並演示其使用方法。Spring Assert類幫助我們驗證參數。通過使用Assert類中的方法,我們可以編寫假設,並期望這些假設成立。
Spring Batch 入門指南
本教程將介紹 Spring Batch 的實用、代碼驅動的入門方法。Spring Batch 是一種用於執行任務的強大框架。其當前版本 5.2.0 支持 Spring 6.2.0 和 Java 17+。以下是一些感興趣的…
將 Spring Bean 設置為 Null
本教程將教你如何在 Spring 上下文中將 Bean 設置為 null。這在某些情況下可能很有用,例如在測試中,我們不想提供 Mock 對象。同時,在使用某些可選功能時,我們可能希望避免創建實現...
使用Postman測試WebSocket API
本文將創建一個使用 WebSocket 應用並使用 Postman 進行測試。WebSocket 是一種雙向、全雙工、持久的瀏覽器與服務器之間的連接。建立 WebSocket 連接後,連接保持穩定。
Spring Shell 命令行工具
Spring Shell 項目提供了一個交互式 shell,用於處理命令並使用 Spring 編程模型構建功能齊全的 CLI。本文將探討其功能、關鍵類和註解,並進行實現。
Thymeleaf:自定義佈局方言
Thymeleaf 是一種 Java 模板引擎,用於處理和創建 HTML、XML、JavaScript、CSS 和純文本。 欲瞭解 Thymeleaf 和 Spring 的入門介紹,請參考以下文章。 本文將重點介紹模板引擎,這對於大多數人來説都是一個基本概念。
Spring 測試執行監聽器
通常,我們使用 JUnit 註解(如 @BeforeEach、@AfterEach、@BeforeAll 和 @AfterAll)來編排測試的生命週期,但有時這還不夠,尤其是在使用 Spring 框架時。Spring TestExec 恰好解決了這個問題。
Spring 中 DeferredResult 指南
本教程將介紹如何使用 Spring MVC 中的 DeferredResult 類進行異步請求處理。異步支持自 Servlet 3.0 引入,它允許在另一個線程中處理 HTTP 請求。
使用 Spring RestTemplate 獲取 JSON 對象列表
我們的服務經常需要與其他的 RESTful 服務進行通信以獲取信息。 在 Spring 中,我們可以使用 RestTemplate 執行同步 HTTP 請求。數據通常以 JSON 格式返回,RestTemplate 可以自動將其轉換為相應格式。
Spring @RequestParam 與 @PathVariable 註解對比
本教程將探討 Spring 中 @RequestParam 和 @PathVariable 註解之間的差異。@RequestParam 和 @PathVariable 都可以用於從請求 URI 中提取值,但兩者略有不同。@Reques
Spring MVC 中 Data 和 Thymeleaf 整合
本教程將探討使用Thymeleaf訪問Spring MVC數據的不同方法。我們將首先使用Thymeleaf創建電子郵件模板,並使用Spring應用程序中的數據對其進行增強。首先,我們需要添加Thymeleaf依賴項。
使用 Spring Cloud Gateway 與 OAuth 2.0 模式
Spring Cloud Gateway 是一個庫,允許我們基於 Spring Boot 快速創建輕量級 API 網關,我們之前已經有相關文章。 本節將演示如何在上面快速實現 OAuth 2.0 模式。 O
基於活動配置文件執行測試(JUnit 5)
在開發和部署過程中,通常會創建不同的配置。例如,在部署 Spring 應用時,可以為每個階段分配 Spring Profile 並創建專門的測試。
使用 Spring Security 驗證 Amazon Cognito
本教程將介紹如何利用 Spring Security 的 OAuth 2.0 支持與 Amazon Cognito 進行身份驗證。 此外,我們還將簡要了解 Amazon Cognito 是什麼以及它支持的 OAuth 2.0 流程。
Spring MVC 與 Apache Tiles 集成
Apache Tiles 是一個免費、開源的模板引擎,完全基於 Composite 設計模式構建而成。Composite 設計模式是一種結構型模式,通過將對象組合成樹狀結構來表示整體-部分層次關係。
Apache Kafka 自定義序列器
在Apache Kafka消息傳輸中,客户端和服務器會協商使用通用的語法格式。Apache Kafka提供默認轉換器(如String和Long),並支持自定義序列化器以滿足特定用例。
Spring REST API + OAuth2 + Angular
本教程將演示如何使用 OAuth2 安全保護 REST API,並從一個簡單的 Angular 客户端進行消費。我們將構建的應用程序將包含三個獨立模塊: 授權服務器 資源服務器 UI 授權碼:一個前端…
Kubernetes 和 Spring Boot 自愈應用
本教程將介紹 Kubernetes 的探針,並演示如何利用 Actuator 的 HealthIndicator 準確瞭解應用程序的狀態。教程假設已經存在一些預先配置。
在 JavaScript 中訪問 Spring MVC 模型對象
本教程將演示如何在包含 JavaScript 代碼的 Thymeleaf 視圖中訪問 Spring MVC 對象。我們將使用 Spring Boot 和 Thymeleaf 模板引擎作為示例,但該方法同樣適用於其他模板引擎。
Spring Boot 自動屬性擴展
本文將探討 Spring 通過 Maven 和 Gradle 構建方法提供的屬性擴展機制。對於使用 spring-boot-starter-parent 的 Maven 項目,無需額外配置。
使用 Spring 的 JPA 指南
本教程演示瞭如何使用 Spring 和 JPA,並使用 Hibernate 作為持久性提供者進行配置。 您可以在此文章中找到關於使用 Java 方式配置和基本 Maven pom 文件設置 Spring 容器的逐步指南。
Spring 配置引導 vs 應用程序屬性
Spring Boot 是一種帶有強烈偏好的框架。即便如此,我們通常會在應用程序配置文件(如 application.properties)中覆蓋自動配置的屬性。在 Spring Cloud 應用程序中,我們經常使用另一種配置方式。