Appendix

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

Spring Properties

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

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

Table 1. Supported Spring Properties
Name Description

spring.aot.enabled

指示应用程序应使用 AOT 生成的工件运行。有关详细信息,请参阅 Ahead of Time Optimizations 和https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/aot/AotDetector.html#AOT_ENABLED[AotDetector]。)

spring.beaninfo.ignore

指示 Spring 在调用 JavaBeans Introspector 时使用 Introspector.IGNORE_ALL_BEANINFO 模式。有关详细信息,请参阅https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/beans/StandardBeanInfoFactory.html#IGNORE_BEANINFO_PROPERTY_NAME[CachedIntrospectionResults]。

spring.cache.reactivestreams.ignore

指示 Spring 的缓存基础设施忽略响应流的存在,特别是 @Cacheable 方法返回类型声明中的 Reactor 的 Mono/Flux。有关详细信息,请参阅https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/cache/interceptor/CacheAspectSupport.html#IGNORE_REACTIVESTREAMS_PROPERTY_NAME[CacheAspectSupport]。

spring.classformat.ignore

指示 Spring 在类路径扫描过程中忽略类格式异常,特别是对于不受支持的类文件版本。有关详细信息,请参阅https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/ClassPathScanningCandidateComponentProvider.html#IGNORE_CLASSFORMAT_PROPERTY_NAME[ClassPathScanningCandidateComponentProvider]。

spring.context.checkpoint

指定一个通用上下文检查点的属性。有关详细信息,请参阅 Automatic checkpoint/restore at startup 和https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/support/DefaultLifecycleProcessor.html#CHECKPOINT_PROPERTY_NAME[DefaultLifecycleProcessor]。

spring.context.exit

当上下文到达特定阶段时终止 JVM 的属性。有关详细信息,请参阅 Automatic checkpoint/restore at startup 和https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/support/DefaultLifecycleProcessor.html#EXIT_PROPERTY_NAME[DefaultLifecycleProcessor]。

spring.context.expression.maxLength

用于 XML Bean 定义、@Value 等等中使用的 Spring Expression Language 表达式的最大长度。

spring.expression.compiler.mode

Spring Expression Language 编译表达式时使用的模式。

spring.getenv.ignore

如果 Spring Environment 属性 — 例如,配置字符串中的占位符 — 无法以其他方式解析,则指示 Spring 忽略操作系统环境变量。有关详细信息,请参阅https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/core/env/AbstractEnvironment.html#IGNORE_GETENV_PROPERTY_NAME[AbstractEnvironment]。

spring.jdbc.getParameterType.ignore

指示 Spring 完全忽略 java.sql.ParameterMetaData.getParameterType。请参阅 Batch Operations with a List of Objects 中的备注。

spring.jndi.ignore

指示 Spring 忽略默认 JNDI 环境,作为对场景的一种优化,在这种场景中根本不会找到用于开始此类 JNDI 回退搜索的内容,从而避免了重复的 JNDI 查找开销。有关详细信息,请参阅https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/jndi/JndiLocatorDelegate.html#IGNORE_JNDI_PROPERTY_NAME[JndiLocatorDelegate]。

spring.objenesis.ignore

指示 Spring 忽略 Objenesis,甚至不尝试使用它。有关详细信息,请参阅https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/objenesis/SpringObjenesis.html#IGNORE_OBJENESIS_PROPERTY_NAME[SpringObjenesis]。

spring.test.aot.processing.failOnError

布尔标志,控制 Spring TestContext Framework 中 AOT 处理期间遇到的错误是否应导致导致整个进程失败的异常。请参阅 Ahead of Time Support for Tests

spring.test.constructor.autowire.mode

如果 @TestConstructor 未出现在测试类中,则用于 test constructor autowire mode 的默认值。请参阅 Changing the default test constructor autowire mode

spring.test.context.cache.maxSize

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

spring.test.context.failure.threshold

尝试在 Spring TestContext Framework 中加载 ApplicationContext 时遇到的错误的失败阈值。请参阅 Context Failure Threshold

spring.test.enclosing.configuration

如果 @NestedTestConfiguration 未出现在测试类中,则用于 enclosing configuration inheritance mode 的默认值。请参阅 Changing the default enclosing configuration inheritance mode