此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring Data Commons 3.5.3spring-doc.cadn.net.cn

空安全

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

尽管 Java 不允许您在其类型系统中表达 null 安全性,但 Spring Data API 使用 JSR-305 工具友好的注释进行注释,这些注释在org.springframework.lang包。 默认情况下,Kotlin 中使用的 Java API 中的类型被识别为平台类型,并放宽了空检查。Kotlin 对 JSR-305 注解和 Spring 空性注解的支持为 Kotlin 开发人员提供了整个 Spring Data API 的空安全性,其优点是可以处理null相关问题。spring-doc.cadn.net.cn

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

您可以通过添加-Xjsr305compiler 标志,并带有以下选项:-Xjsr305={strict|warn|ignore}.spring-doc.cadn.net.cn

对于 Kotlin 1.1+ 版本,默认行为与-Xjsr305=warn. 这strictvalue 是必需的,请考虑 Spring Data API null-safety。Kotlin 类型是从 Spring API 推断出来的,但应该在知道 Spring API 可空性声明可能会发展的情况下使用,即使在次要版本之间也是如此,并且将来可能会添加更多检查。spring-doc.cadn.net.cn

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