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]

      請注意:這是來自我的 Swiftmind 公司部落格的 交叉貼文

在這篇文章中,我們將首先了解 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 類別和 Profile 進行測試

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

正如 Jürgen Höller 在他的文章中提到發布了 Spring 3.1 M2Spring TestContext Framework(*) 已經過全面修改,可以為 @Configuration 類別和環境 Profile 提供一流的測試支援。

在這篇文章中,我將首先向您展示一些範例,演示這些新的測試功能。 然後,我將介紹 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 Application Platform 部署選項

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

自從我們上週三發布 SpringSource Application Platform 以來,許多開發人員下載了 1.0.0 beta 版並開始試用該 Platform。 因此,人們開始詢問:「我如何將我的應用程式部署到 Platform 上,我有哪些部署和封裝選項?」 此外,開發人員也迫切要求看到可用的範例。 作為回應,S2AP 團隊將在未來幾週內發布幾個範例應用程式,以演示這些功能等等,但在您獲得這些範例之前,我想先向您提供一個高層次的……

領先一步

VMware 提供培訓和認證,以加速您的進度。

了解更多

取得支援

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

了解更多

即將到來的活動

查看 Spring 社群中所有即將到來的活動。

查看全部