对于最新的稳定版本,请使用 Spring Data Commons 3.4.0spring-doc.cn

空安全

Kotlin 的主要功能之一是 null 安全,它可以在编译时干净地处理值。 这通过可为 null 性声明和“值或无值”语义的表达式使应用程序更安全,而无需支付包装器的成本,例如 . (Kotlin 允许使用具有可为 null 值的函数式结构。请参阅此 Kotlin null 安全性综合指南nullOptionalspring-doc.cn

尽管 Java 不允许您在其类型系统中表达空安全性,但 Spring Data API 使用包中声明的 JSR-305 工具友好注释进行注释。 默认情况下,Kotlin 中使用的 Java API 中的类型被视为平台类型,因此会放宽 null 检查。Kotlin 对 JSR-305 注释和 Spring 可为 null 性注释的支持为 Kotlin 开发人员提供了整个 Spring Data API 的 null 安全性,并具有在编译时处理相关问题的优势。org.springframework.langnullspring-doc.cn

请参阅 存储库方法的 Null 处理 null 安全性如何应用于 Spring Data Repositories。spring-doc.cn

您可以通过添加编译器标志和以下选项来配置 JSR-305 检查:。-Xjsr305-Xjsr305={strict|warn|ignore}spring-doc.cn

对于 Kotlin 版本 1.1+,默认行为与 . 该值是必需的,并考虑了 Spring Data API null-safety 。从 Spring API 推断出的 Kotlin 类型,但应该在知道 Spring API 可空性声明可能会演变的情况下使用,甚至在次要版本之间,并且将来可能会添加更多检查。-Xjsr305=warnstrictspring-doc.cn

尚不支持泛型类型参数、varargs 和数组元素可为 null 性,但应该在即将发布的版本中支持。