附录

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

Spring属性

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

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

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

spring.aop.ajc.ignore

指示Spring忽略用于Spring AOP代理的ajc编译的方面,恢复启用编织和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.objenesis.ignore

指示Spring忽略Objenesis,甚至不尝试使用它。有关详细信息,请参阅SpringObjenesis

spring.test.aot.processing.failOnError

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

spring.test.constructor.autowire.mode

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

spring.test.context.cache.maxSize

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

spring.test.context.failure.threshold

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

spring.test.enclosing.configuration

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