对于最新的稳定版本,请使用 Spring Framework 7.0.6!spring-doc.cadn.net.cn

上下文失败阈值

从 Spring Framework 6.1 开始,引入了一种上下文失败阈值策略,有助于避免反复尝试加载失败的ApplicationContext。默认情况下,失败阈值设置为1,这意味着对于给定的上下文缓存键,仅会尝试加载一次ApplicationContext(参见 上下文缓存)。任何后续针对相同上下文缓存键尝试加载ApplicationContext的操作都将立即导致IllegalStateException,并附带一条错误消息,说明该尝试已被预先跳过。此行为使得单个测试类和测试套件能够更快地失败,从而避免反复尝试加载那些永远无法成功加载的ApplicationContext——例如,由于配置错误或缺少阻止上下文在当前环境中加载的外部资源。spring-doc.cadn.net.cn

您可以通过命令行或构建脚本设置名为 spring.test.context.failure.threshold 的JVM系统属性,并赋予一个正整数来配置上下文失败阈值。或者,您也可以通过 SpringProperties 机制来设置相同的属性。spring-doc.cadn.net.cn

如果希望有效禁用上下文失败阈值,可以将该属性设置为一个非常大的值。例如,可以从命令行通过 -Dspring.test.context.failure.threshold=1000000 设置系统属性。