附錄

參考文件的這一部分涵蓋了適用於 Spring Framework 核心多個模組的主題。

Spring 屬性

SpringProperties 是一個靜態持有者,用於控制 Spring Framework 的某些底層方面。使用者可以透過 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 Expression Language 表示式的最大長度。

spring.expression.compiler.mode

編譯 Spring Expression Language 表示式時使用的模式。

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.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 註解,則使用的預設封閉配置繼承模式。詳見 更改預設封閉配置繼承模式