From 5877a38fa1a233318f2900f32cefbcec5018653d Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Sat, 8 Mar 2025 12:21:46 +0100 Subject: [PATCH] Add explicit note on JSpecify support in Spring Framework 6.2 vs 7.0 Closes gh-34551 --- .../core/beans/annotation-config/autowired.adoc | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/framework-docs/modules/ROOT/pages/core/beans/annotation-config/autowired.adoc b/framework-docs/modules/ROOT/pages/core/beans/annotation-config/autowired.adoc index 8f99eac7d2f..015e73b748f 100644 --- a/framework-docs/modules/ROOT/pages/core/beans/annotation-config/autowired.adoc +++ b/framework-docs/modules/ROOT/pages/core/beans/annotation-config/autowired.adoc @@ -444,9 +444,9 @@ through Java 8's `java.util.Optional`, as the following example shows: } ---- -You can also use a `@Nullable` annotation (of any kind in any package -- for example, -`javax.annotation.Nullable` from JSR-305) or just leverage Kotlin built-in null-safety -support: +You can also use a parameter-level `@Nullable` annotation (of any kind in any package -- +for example, `javax.annotation.Nullable` from JSR-305) or just leverage Kotlin built-in +null-safety support: [tabs] ====== @@ -477,6 +477,13 @@ Kotlin:: ---- ====== +[NOTE] +==== +A type-level `@Nullable` annotation such as from JSpecify is not supported in Spring +Framework 6.2 yet. You need to upgrade to Spring Framework 7.0 where the framework +detects type-level annotations and consistently declares JSpecify in its own codebase. +==== + You can also use `@Autowired` for interfaces that are well-known resolvable dependencies: `BeanFactory`, `ApplicationContext`, `Environment`, `ResourceLoader`, `ApplicationEventPublisher`, and `MessageSource`. These interfaces and their extended