Sam Brannen

Sam Brannen

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

部落格文章Sam Brannen

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 月 7 日 | ...

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

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

在本文中,我們將首先介紹 Spring Framework 中的一些通用新測試特性,然後詳細討論對使用 WebApplicationContext 以及 requestsession 作用域 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 建立動態 mock。例如,在 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 類和 Profiles 進行測試

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

正如 Jürgen Höller 在他宣佈 Spring 3.1 M2 釋出 的文章中提到的,Spring TestContext Framework(*) 已經過全面改進,為 @Configuration 類和環境 profiles 提供了第一類測試支援。

在本文中,我將首先透過一些示例向您介紹這些新的測試特性。然後,我將介紹 TestContext 框架中實現這些新特性的一些新擴充套件點。

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

背景

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

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

SpringSource Application Platform 部署選項

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

自從上週三釋出 SpringSource Application Platform 以來,許多開發人員下載了 1.0.0 beta 版並開始試用該平臺。因此,人們開始詢問:“如何在平臺部署我的應用程式?我有哪些部署和打包選項?”此外,開發人員渴望看到可執行的示例。作為回應,S2AP 團隊將在未來幾周內釋出幾個示例應用程式,展示這些特性以及更多內容,但在您獲得這些示例之前,我想先給您一個高層次的……

領先一步

VMware 提供培訓和認證,助您快速提升。

瞭解更多

獲取支援

Tanzu Spring 在一個簡單的訂閱中提供對 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位制檔案。

瞭解更多

即將舉行的活動

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

檢視全部