Sam Brannen

Sam Brannen

Sam Brannen 是 Broadcom 的首席軟體工程師,Spring Framework 核心團隊成員,也是 JUnit 5 的核心提交者。

博文Sam Brannen

Spring Security 和 Spring Framework 釋出 CVE-2025-41248 和 CVE-2025-41249 的修復

釋出 | 2025年9月15日 | ...

Spring Security 和 Spring Framework 團隊已合作釋出了以下 CVE 的修復。

  • CVE-2025-41248: Spring Security 在泛型超型別上針對方法安全註解的授權繞過
  • CVE-2025-41249: Spring Framework 註解檢測漏洞

這兩個 CVE 報告都涉及在使用具有無界泛型的引數化超型別的型別層次結構中的方法上使用安全註解時可能遇到的漏洞。有關更多詳細資訊,請參閱各個 CVE 報告。

CVE-2025-41248

Spring Security 6.4.11 和 6.5.5 開源版本解決了 CVE-2025-41248

Spring 核心彈性功能:@ConcurrencyLimit、@Retryable 和 RetryTemplate

工程 | 2025 年 9 月 9 日 | ...

這是通往 GA 之路系列部落格文章的第一篇,重點介紹了 Spring 產品組合中將於今年 11 月釋出的下一個主要版本中的主要功能。

今天,我們很榮幸地宣佈 Spring Framework 7.0 中即將推出的新彈性功能:併發限制重試支援

併發限制

對於某些任務和資源,可能希望限制併發級別。併發節流有效地保護目標資源免受過多執行緒同時訪問,類似於池大小限制的效果…

Spring Framework 資料繫結規則漏洞 (CVE-2022-22968)

工程 | 2022 年 4 月 13 日 | ...

目錄

概述

在調查 Spring Framework RCE 漏洞 CVE-2022-22965 和建議的解決方法時,我們意識到 WebDataBinder 上的 disallowedFields 配置設定不直觀且沒有清晰的文件。我們已經修復了這個問題,但為了安全起見,我們還是決定釋出一個後續的 CVE,以確保應用程式開發人員收到警報並有機會審查他們的配置。

我們已經發布了包含修復的 Spring Framework 5.3.19 和 5.2.21。Spring Boot 2.6.7 和 2…

Spring Framework 3.2 RC1: 新的測試功能

工程 | 2012年11月07日 | ...

正如Juergen Hoeller在其宣佈Spring Framework 3.2 RC1釋出的博文中提到的那樣,Spring團隊在測試支援方面引入了一些令人興奮的新功能。最重要的是,我們為測試Web應用程式添加了一流的支援。[1]

      請注意:這是一篇來自我的Swiftmind公司部落格的交叉釋出

在這篇文章中,我們將首先介紹Spring Framework中一些通用的新測試功能,然後詳細討論對使用WebApplicationContext以及請求(request)會話(session)作用域bean進行測試的支援。最後,我們將介紹對ApplicationContextInitializers的支援,並簡要討論使用應用程式上下文層次結構進行測試的路線圖。

Rossen Stoyanchev稍後將發表一篇詳細介紹新的Spring MVC Test框架的博文,該框架為測試Spring MVC應用程式提供了一流的支援。因此,請務必關注,因為它基於本文後面討論的基本Web測試支援。



通用新功能和更新


構建和依賴

spring-test模組現在基於並支援JUnit 4.10和TestNG 6.5.2構建,並且spring-test現在依賴於junit:junit-dep Maven工件而不是junit:junit,這意味著您可以完全控制對Hamcrest庫(例如,hamcrest-corehamcrest-all等)的依賴。

泛型工廠方法

泛型工廠方法是使用Java泛型實現工廠方法設計模式的方法。以下是一些泛型工廠方法的示例簽名


public static <T> T mock(Class<T> clazz) { ... }

public static <T> T proxy(T obj) { ... }

在Spring配置中使用泛型工廠方法並非測試專用,但EasyMock.createMock(MyService.class)Mockito.mock(MyService.class)等泛型工廠方法通常用於在測試應用程式上下文中為Spring bean建立動態模擬。例如,在Spring Framework 3.2之前,以下配置可能無法將OrderRepository自動裝配到OrderService中。原因在於,根據應用程式上下文中bean的初始化順序,Spring可能會將orderRepository bean的型別推斷為java.lang.Object而不是com.example.repository.OrderRepository


<beans>

  <!-- OrderService is autowired with OrderRepository -->
  <context:component-scan base-package="com.example.service"/>

  <bean id="orderRepository" class="org.easymock.EasyMock…

Spring 3.1 M2: 使用 @Configuration 類和配置檔案進行測試

工程 | 2011 年 6 月 21 日 | ...

正如 Jürgen Höller 在他宣佈 Spring 3.1 M2 釋出的帖子中提到的,Spring TestContext Framework(*) 已經過全面改進,為 @Configuration 類和環境配置檔案提供了卓越的測試支援。

在這篇文章中,我將首先透過一些示例向您介紹這些新的測試功能。然後,我將介紹 TestContext 框架中使這些新功能成為可能的一些新擴充套件點。

      請注意:這是我公司部落格 www.swiftmind.com 的交叉釋出。

背景

在 Spring 2.5 中,我們引入了 Spring TestContext Framework,它提供了註釋驅動的整合測試支援,可與 JUnit 或 TestNG 結合使用。本部落格中的示例將重點介紹基於 JUnit 的測試,但此處使用的所有功能也適用於 TestNG。

TestContext 框架的核心功能是允許您使用 @ContextConfiguration 註解測試類,以指定用於為測試載入 ApplicationContext 的配置檔案。預設情況下,ApplicationContext 使用 GenericXmlContextLoader 載入,該載入器從 XML Spring 配置檔案載入上下文。然後,您可以透過使用 @Autowired@Resource@Inject 註解測試類中的欄位來從 ApplicationContext 訪問 bean…

SpringSource 應用平臺部署選項

工程 | 2008 年 5 月 6 日 | ...

自上週三釋出 SpringSource 應用平臺以來,眾多開發人員下載了 1.0.0 測試版並開始試用該平臺。結果,人們開始詢問:“如何在平臺上部署我的應用程式?我有哪些部署和打包選項?”此外,開發人員迫切希望看到可用的示例。作為回應,S2AP 團隊將在未來幾周釋出幾個示例應用程式,演示這些功能以及更多內容,但在您拿到這些示例之前,我想先給您一個高層次的…

領先一步

VMware 提供培訓和認證,助您加速進步。

瞭解更多

獲得支援

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位制檔案,只需一份簡單的訂閱。

瞭解更多

即將舉行的活動

檢視 Spring 社群所有即將舉行的活動。

檢視所有