Spring Framework 7.031.空安全性
Spring Framework 从 5.0 版本开始引入了对空安全性(null safety)的支持,通过使用 JSR 305 注解(如 @Nullable
和 @NonNull
)来明确标识参数、返回值和字段的空值可能性。这有助于开发者在编译时检测潜在的空指针异常(NullPointerException),并提高代码的可靠性。
空安全注解
Spring 主要使用以下注解来标记空值相关的语义(这些注解来自 org.springframework.lang
包):
@Nullable
:标识一个元素(参数、返回值、字段)可以为null
。@NonNull
:标识一个元素不可以为null
(默认情况下,未标记的元素通常被视为非空)。@NonNullApi
:包级别的注解,声明该包下的所有 API 元素(参数、返回值)默认都是非空的,除非显式标记@Nullable
。@NonNullFields
:包级别的注解,声明该包