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 社区所有即将举行的活动。

查看所有