Package org.springframework.lang

# Annotation Interface NonNull

@Target({METHOD,PARAMETER,FIELD}) @Retention(RUNTIME) @Documented @Nonnull @TypeQualifierNickname public @interface NonNull
A common Spring annotation to declare that annotated elements cannot be `null`.

Leverages JSR-305 meta-annotations to indicate nullability in Java to common tools with JSR-305 support and used by Kotlin to infer nullability of Spring API.

Should be used at the parameter, return value, and field level. Method overrides should repeat parent `@NonNull` annotations unless they behave differently.

Use `@NonNullApi` (scope = parameters + return values) and/or `@NonNullFields` (scope = fields) to set the default behavior to non-nullable in order to avoid annotating your whole codebase with `@NonNull`.

Since:
  5.0
Author:
  Sebastien Deleuze, Juergen Hoeller
See Also:
  - `NonNullApi`
  - `NonNullFields`
  - `Nullable`