附录

参考文档的这一部分涵盖了适用于 Spring 框架核心中多个模块的主题。

Spring 属性

SpringProperties 是一个静态持有器,用于控制 Spring 框架某些底层方面的属性。用户可以通过 JVM 系统属性或通过 SpringProperties.setProperty(String key, String value) 方法以编程方式配置这些属性。如果部署环境不允许自定义 JVM 系统属性,则可能需要后者。作为替代,这些属性可以在类路径根目录下的 spring.properties 文件中配置 — 例如,部署在应用程序的 JAR 文件中。

下表列出了所有当前支持的 Spring 属性。

Table 1. 支持的 Spring 属性
名称 描述

spring.aop.ajc.ignore

指示 Spring 忽略 ajc 编译的 AspectJ 切面,以进行 Spring AOP 代理,从而恢复在同时启用编织和 AspectJ 自动代理的场景中的传统 Spring 行为。详情请参见 AbstractAspectJAdvisorFactory

spring.aot.enabled

指示应用程序应使用 AOT 生成的工件运行。详情请参见 提前优化AotDetector

spring.beaninfo.ignore

指示 Spring 在调用 JavaBeans Introspector 时使用 Introspector.IGNORE_ALL_BEANINFO 模式。详情请参见 StandardBeanInfoFactory

spring.cache.reactivestreams.ignore

指示 Spring 的缓存基础设施忽略 Reactive Streams 的存在,特别是 @Cacheable 方法返回类型声明中的 Reactor Mono/Flux。详情请参见 CacheAspectSupport

spring.classformat.ignore

指示 Spring 在类路径扫描期间忽略类格式异常,特别是对于不支持的类文件版本。详情请参见 ClassPathScanningCandidateComponentProvider

spring.context.checkpoint

指定通用上下文检查点的属性。详情请参见 启动时的自动检查点/恢复DefaultLifecycleProcessor

spring.context.exit

在上下文达到特定阶段时终止 JVM 的属性。详情请参见 启动时的自动检查点/恢复DefaultLifecycleProcessor

spring.context.expression.maxLength

用于 XML bean 定义、@Value 等中的 Spring 表达式语言 表达式的最大长度。

spring.expression.compiler.mode

编译 Spring 表达式语言 表达式时使用的模式。

spring.getenv.ignore

指示 Spring 忽略操作系统环境变量,如果 Spring Environment 属性(例如,配置字符串中的占位符)无法以其他方式解析。详情请参见 AbstractEnvironment

spring.jdbc.getParameterType.ignore

指示 Spring 完全忽略 java.sql.ParameterMetaData.getParameterType。 请参阅 使用对象列表进行批处理操作 中的注意事项。

spring.jndi.ignore

指示 Spring 忽略默认 JNDI 环境,作为一种优化,适用于从来不需要进行 JNDI 回退搜索的场景,避免重复的 JNDI 查找开销。详情请参见 JndiLocatorDelegate

spring.locking.strict

指示 Spring 在 bean 创建期间强制执行严格锁定,而不是 6.2 默认应用的严格和宽松锁定混合。详情请参见 DefaultListableBeanFactory

spring.objenesis.ignore

指示 Spring 忽略 Objenesis,甚至不尝试使用它。详情请参见 SpringObjenesis

spring.placeholder.escapeCharacter.default

属性占位符支持的默认转义字符。如果未设置,将使用 ’\'`。可以设置为自定义转义字符或空字符串以禁用对转义字符的支持。默认转义字符可以在 PropertySourcesPlaceholderConfigurerAbstractPropertyResolver 的子类中显式覆盖。详情请参见 AbstractPropertyResolver

spring.test.aot.processing.failOnError

一个布尔标志,控制在 Spring TestContext Framework 中 AOT 处理期间遇到的错误是否应导致抛出异常,从而使整个过程失败。 请参阅 测试的提前支持

spring.test.constructor.autowire.mode

如果测试类上不存在 @TestConstructor,则使用的默认 测试构造函数自动装配模式。请参阅 更改默认测试构造函数自动装配模式

spring.test.context.cache.maxSize

Spring TestContext Framework 中上下文缓存的最大大小。请参阅 上下文缓存

spring.test.context.failure.threshold

Spring TestContext Framework 中尝试加载 ApplicationContext 时遇到的错误的失败阈值。请参阅 上下文失败阈值

spring.test.enclosing.configuration

如果测试类上不存在 @NestedTestConfiguration,则使用的默认 封闭配置继承模式。请参阅 更改默认封闭配置继承模式