diff --git a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/caching.adoc b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/caching.adoc index a75d6314aa..cec19b9185 100644 --- a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/caching.adoc +++ b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/ctx-management/caching.adoc @@ -4,7 +4,7 @@ Once the TestContext framework loads an `ApplicationContext` (or `WebApplicationContext`) for a test, that context is cached and reused for all subsequent tests that declare the same unique context configuration within the same test suite. To understand how caching -works, it is important to understand what is meant by "`unique`" and "`test suite.`" +works, it is important to understand what is meant by "unique" and "test suite." An `ApplicationContext` can be uniquely identified by the combination of configuration parameters that is used to load it. Consequently, the unique combination of configuration @@ -15,8 +15,8 @@ framework uses the following configuration parameters to build the context cache * `classes` (from `@ContextConfiguration`) * `contextInitializerClasses` (from `@ContextConfiguration`) * `contextCustomizers` (from `ContextCustomizerFactory`) – this includes - `@DynamicPropertySource` methods as well as various features from Spring Boot's - testing support such as `@MockBean` and `@SpyBean`. + `@DynamicPropertySource` methods, bean overrides (such as `@TestBean`, `@MockitoBean`, + `@MockitoSpyBean` etc.), as well as various features from Spring Boot's testing support. * `contextLoader` (from `@ContextConfiguration`) * `parent` (from `@ContextHierarchy`) * `activeProfiles` (from `@ActiveProfiles`) diff --git a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/parallel-test-execution.adoc b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/parallel-test-execution.adoc index 6e3c268f63..c95363d946 100644 --- a/framework-docs/modules/ROOT/pages/testing/testcontext-framework/parallel-test-execution.adoc +++ b/framework-docs/modules/ROOT/pages/testing/testcontext-framework/parallel-test-execution.adoc @@ -18,9 +18,9 @@ Do not run tests in parallel if the tests: * Use Spring Framework's `@DirtiesContext` support. * Use Spring Framework's `@MockitoBean` or `@MockitoSpyBean` support. * Use Spring Boot's `@MockBean` or `@SpyBean` support. -* Use JUnit 4's `@FixMethodOrder` support or any testing framework feature - that is designed to ensure that test methods run in a particular order. Note, - however, that this does not apply if entire test classes are run in parallel. +* Use JUnit Jupiter's `@TestMethodOrder` support or any testing framework feature that is + designed to ensure that test methods run in a particular order. Note, however, that + this does not apply if entire test classes are run in parallel. * Change the state of shared services or systems such as a database, message broker, filesystem, and others. This applies to both embedded and external systems. diff --git a/spring-core/src/main/java/org/springframework/core/io/DefaultResourceLoader.java b/spring-core/src/main/java/org/springframework/core/io/DefaultResourceLoader.java index eac1fd4646..bc2594123d 100644 --- a/spring-core/src/main/java/org/springframework/core/io/DefaultResourceLoader.java +++ b/spring-core/src/main/java/org/springframework/core/io/DefaultResourceLoader.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2002-2025 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -59,7 +59,7 @@ public class DefaultResourceLoader implements ResourceLoader { /** * Create a new DefaultResourceLoader. *
ClassLoader access will happen using the thread context class loader - * at the time of actual resource access (since 5.3). For more control, pass + * at the time of actual resource access. For more control, pass * a specific ClassLoader to {@link #DefaultResourceLoader(ClassLoader)}. * @see java.lang.Thread#getContextClassLoader() */ @@ -80,7 +80,7 @@ public class DefaultResourceLoader implements ResourceLoader { * Specify the ClassLoader to load class path resources with, or {@code null} * for using the thread context class loader at the time of actual resource access. *
The default is that ClassLoader access will happen using the thread context - * class loader at the time of actual resource access (since 5.3). + * class loader at the time of actual resource access. */ public void setClassLoader(@Nullable ClassLoader classLoader) { this.classLoader = classLoader; diff --git a/spring-core/src/main/java/org/springframework/core/io/support/SpringFactoriesLoader.java b/spring-core/src/main/java/org/springframework/core/io/support/SpringFactoriesLoader.java index ec69cc588e..c1228a0569 100644 --- a/spring-core/src/main/java/org/springframework/core/io/support/SpringFactoriesLoader.java +++ b/spring-core/src/main/java/org/springframework/core/io/support/SpringFactoriesLoader.java @@ -125,13 +125,12 @@ public class SpringFactoriesLoader { * Load and instantiate the factory implementations of the given type from * {@value #FACTORIES_RESOURCE_LOCATION}, using the configured class loader * and a default argument resolver that expects a no-arg constructor. - *
The returned factories are sorted through {@link AnnotationAwareOrderComparator}. + *
The returned factories are sorted using {@link AnnotationAwareOrderComparator}. *
If a custom instantiation strategy is required, use {@code load(...)} * with a custom {@link ArgumentResolver ArgumentResolver} and/or * {@link FailureHandler FailureHandler}. - *
As of Spring Framework 5.3, if duplicate implementation class names are - * discovered for a given factory type, only one instance of the duplicated - * implementation type will be instantiated. + *
If duplicate implementation class names are discovered for a given factory + * type, only one instance of the duplicated implementation type will be instantiated. * @param factoryType the interface or abstract class representing the factory * @throws IllegalArgumentException if any factory implementation class cannot * be loaded or if an error occurs while instantiating any factory @@ -145,10 +144,9 @@ public class SpringFactoriesLoader { * Load and instantiate the factory implementations of the given type from * {@value #FACTORIES_RESOURCE_LOCATION}, using the configured class loader * and the given argument resolver. - *
The returned factories are sorted through {@link AnnotationAwareOrderComparator}. - *
As of Spring Framework 5.3, if duplicate implementation class names are - * discovered for a given factory type, only one instance of the duplicated - * implementation type will be instantiated. + *
The returned factories are sorted using {@link AnnotationAwareOrderComparator}. + *
If duplicate implementation class names are discovered for a given factory + * type, only one instance of the duplicated implementation type will be instantiated. * @param factoryType the interface or abstract class representing the factory * @param argumentResolver strategy used to resolve constructor arguments by their type * @throws IllegalArgumentException if any factory implementation class cannot @@ -163,10 +161,9 @@ public class SpringFactoriesLoader { * Load and instantiate the factory implementations of the given type from * {@value #FACTORIES_RESOURCE_LOCATION}, using the configured class loader * with custom failure handling provided by the given failure handler. - *
The returned factories are sorted through {@link AnnotationAwareOrderComparator}. - *
As of Spring Framework 5.3, if duplicate implementation class names are - * discovered for a given factory type, only one instance of the duplicated - * implementation type will be instantiated. + *
The returned factories are sorted using {@link AnnotationAwareOrderComparator}. + *
If duplicate implementation class names are discovered for a given factory + * type, only one instance of the duplicated implementation type will be instantiated. *
For any factory implementation class that cannot be loaded or error that * occurs while instantiating it, the given failure handler is called. * @param factoryType the interface or abstract class representing the factory @@ -182,10 +179,9 @@ public class SpringFactoriesLoader { * {@value #FACTORIES_RESOURCE_LOCATION}, using the configured class loader, * the given argument resolver, and custom failure handling provided by the given * failure handler. - *
The returned factories are sorted through {@link AnnotationAwareOrderComparator}. - *
As of Spring Framework 5.3, if duplicate implementation class names are - * discovered for a given factory type, only one instance of the duplicated - * implementation type will be instantiated. + *
The returned factories are sorted using {@link AnnotationAwareOrderComparator}. + *
If duplicate implementation class names are discovered for a given factory + * type, only one instance of the duplicated implementation type will be instantiated. *
For any factory implementation class that cannot be loaded or error that * occurs while instantiating it, the given failure handler is called. * @param factoryType the interface or abstract class representing the factory @@ -235,12 +231,11 @@ public class SpringFactoriesLoader { /** * Load and instantiate the factory implementations of the given type from * {@value #FACTORIES_RESOURCE_LOCATION}, using the given class loader. - *
The returned factories are sorted through {@link AnnotationAwareOrderComparator}. - *
As of Spring Framework 5.3, if duplicate implementation class names are - * discovered for a given factory type, only one instance of the duplicated - * implementation type will be instantiated. + *
The returned factories are sorted using {@link AnnotationAwareOrderComparator}. + *
If duplicate implementation class names are discovered for a given factory + * type, only one instance of the duplicated implementation type will be instantiated. *
For more advanced factory loading with {@link ArgumentResolver} or - * {@link FailureHandler} support use {@link #forDefaultResourceLocation(ClassLoader)} + * {@link FailureHandler} support, use {@link #forDefaultResourceLocation(ClassLoader)} * to obtain a {@link SpringFactoriesLoader} instance. * @param factoryType the interface or abstract class representing the factory * @param classLoader the ClassLoader to use for loading (can be {@code null} @@ -256,9 +251,8 @@ public class SpringFactoriesLoader { * Load the fully qualified class names of factory implementations of the * given type from {@value #FACTORIES_RESOURCE_LOCATION}, using the given * class loader. - *
As of Spring Framework 5.3, if a particular implementation class name - * is discovered more than once for the given factory type, duplicates will - * be ignored. + *
If a particular implementation class name is discovered more than once + * for the given factory type, duplicates will be ignored. * @param factoryType the interface or abstract class representing the factory * @param classLoader the ClassLoader to use for loading resources; can be * {@code null} to use the default diff --git a/spring-core/src/main/java/org/springframework/util/CollectionUtils.java b/spring-core/src/main/java/org/springframework/util/CollectionUtils.java index f92169d5f2..a485046a96 100644 --- a/spring-core/src/main/java/org/springframework/util/CollectionUtils.java +++ b/spring-core/src/main/java/org/springframework/util/CollectionUtils.java @@ -103,7 +103,7 @@ public abstract class CollectionUtils { *
This differs from the regular {@link LinkedHashMap} constructor
* which takes an initial capacity relative to a load factor but is
* aligned with Spring's own {@link LinkedCaseInsensitiveMap} and
- * {@link LinkedMultiValueMap} constructor semantics as of 5.3.
+ * {@link LinkedMultiValueMap} constructor semantics.
* @param expectedSize the expected number of elements (with a corresponding
* capacity to be derived so that no resize/rehash operations are needed)
* @since 5.3
diff --git a/spring-core/src/main/java/org/springframework/util/LinkedMultiValueMap.java b/spring-core/src/main/java/org/springframework/util/LinkedMultiValueMap.java
index 8faf71ea1c..d383a1c922 100644
--- a/spring-core/src/main/java/org/springframework/util/LinkedMultiValueMap.java
+++ b/spring-core/src/main/java/org/springframework/util/LinkedMultiValueMap.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2020 the original author or authors.
+ * Copyright 2002-2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -35,8 +35,7 @@ import java.util.Map;
* @param As of Spring Framework 5.3, this annotation will be inherited from an
- * enclosing test class by default. See
+ * This annotation will be inherited from an enclosing test class by default. See
* {@link org.springframework.test.context.NestedTestConfiguration @NestedTestConfiguration}
* for details.
*
diff --git a/spring-test/src/main/java/org/springframework/test/annotation/DirtiesContext.java b/spring-test/src/main/java/org/springframework/test/annotation/DirtiesContext.java
index 6e602f5338..f1e509c729 100644
--- a/spring-test/src/main/java/org/springframework/test/annotation/DirtiesContext.java
+++ b/spring-test/src/main/java/org/springframework/test/annotation/DirtiesContext.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2024 the original author or authors.
+ * Copyright 2002-2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -76,8 +76,7 @@ import java.lang.annotation.Target;
* This annotation may be used as a meta-annotation to create custom
* composed annotations.
*
- * As of Spring Framework 5.3, this annotation will be inherited from an
- * enclosing test class by default. See
+ * This annotation will be inherited from an enclosing test class by default. See
* {@link org.springframework.test.context.NestedTestConfiguration @NestedTestConfiguration}
* for details.
*
diff --git a/spring-test/src/main/java/org/springframework/test/annotation/Rollback.java b/spring-test/src/main/java/org/springframework/test/annotation/Rollback.java
index 9d2cbcd8df..a0b28e10e3 100644
--- a/spring-test/src/main/java/org/springframework/test/annotation/Rollback.java
+++ b/spring-test/src/main/java/org/springframework/test/annotation/Rollback.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2024 the original author or authors.
+ * Copyright 2002-2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -48,8 +48,7 @@ import java.lang.annotation.Target;
* custom composed annotations. Consult the source code for
* {@link Commit @Commit} for a concrete example.
*
- * As of Spring Framework 5.3, this annotation will be inherited from an
- * enclosing test class by default. See
+ * This annotation will be inherited from an enclosing test class by default. See
* {@link org.springframework.test.context.NestedTestConfiguration @NestedTestConfiguration}
* for details.
*
diff --git a/spring-test/src/main/java/org/springframework/test/context/ActiveProfiles.java b/spring-test/src/main/java/org/springframework/test/context/ActiveProfiles.java
index 97d5959319..5f9dc72cd2 100644
--- a/spring-test/src/main/java/org/springframework/test/context/ActiveProfiles.java
+++ b/spring-test/src/main/java/org/springframework/test/context/ActiveProfiles.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2024 the original author or authors.
+ * Copyright 2002-2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -34,9 +34,8 @@ import org.springframework.core.annotation.AliasFor;
* This annotation may be used as a meta-annotation to create custom
* composed annotations.
*
- * As of Spring Framework 5.3, this annotation will be inherited from an
- * enclosing test class by default. See
- * {@link NestedTestConfiguration @NestedTestConfiguration} for details.
+ * This annotation will be inherited from an enclosing test class by default.
+ * See {@link NestedTestConfiguration @NestedTestConfiguration} for details.
*
* @author Sam Brannen
* @since 3.1
diff --git a/spring-test/src/main/java/org/springframework/test/context/BootstrapWith.java b/spring-test/src/main/java/org/springframework/test/context/BootstrapWith.java
index 17b5c61ace..da351f7943 100644
--- a/spring-test/src/main/java/org/springframework/test/context/BootstrapWith.java
+++ b/spring-test/src/main/java/org/springframework/test/context/BootstrapWith.java
@@ -34,9 +34,8 @@ import java.lang.annotation.Target;
* present on the current test class) will override any meta-present
* declarations of {@code @BootstrapWith}.
*
- * As of Spring Framework 5.3, this annotation will be inherited from an
- * enclosing test class by default. See
- * {@link NestedTestConfiguration @NestedTestConfiguration} for details.
+ * This annotation will be inherited from an enclosing test class by default.
+ * See {@link NestedTestConfiguration @NestedTestConfiguration} for details.
*
* @author Sam Brannen
* @since 4.1
diff --git a/spring-test/src/main/java/org/springframework/test/context/ContextConfiguration.java b/spring-test/src/main/java/org/springframework/test/context/ContextConfiguration.java
index 9be2ea22a4..e02360b914 100644
--- a/spring-test/src/main/java/org/springframework/test/context/ContextConfiguration.java
+++ b/spring-test/src/main/java/org/springframework/test/context/ContextConfiguration.java
@@ -75,9 +75,8 @@ import org.springframework.core.annotation.AliasFor;
* This annotation may be used as a meta-annotation to create custom
* composed annotations.
*
- * As of Spring Framework 5.3, this annotation will be inherited from an
- * enclosing test class by default. See
- * {@link NestedTestConfiguration @NestedTestConfiguration} for details.
+ * This annotation will be inherited from an enclosing test class by default.
+ * See {@link NestedTestConfiguration @NestedTestConfiguration} for details.
*
* @author Sam Brannen
* @since 2.5
diff --git a/spring-test/src/main/java/org/springframework/test/context/ContextHierarchy.java b/spring-test/src/main/java/org/springframework/test/context/ContextHierarchy.java
index 9df6e324e6..8bc139884b 100644
--- a/spring-test/src/main/java/org/springframework/test/context/ContextHierarchy.java
+++ b/spring-test/src/main/java/org/springframework/test/context/ContextHierarchy.java
@@ -205,9 +205,8 @@ import java.lang.annotation.Target;
* This annotation may be used as a meta-annotation to create custom
* composed annotations.
*
- * As of Spring Framework 5.3, this annotation will be inherited from an
- * enclosing test class by default. See
- * {@link NestedTestConfiguration @NestedTestConfiguration} for details.
+ * This annotation will be inherited from an enclosing test class by default.
+ * See {@link NestedTestConfiguration @NestedTestConfiguration} for details.
*
* @author Sam Brannen
* @since 3.2.2
diff --git a/spring-test/src/main/java/org/springframework/test/context/TestConstructor.java b/spring-test/src/main/java/org/springframework/test/context/TestConstructor.java
index 142c62e2ca..19c28a9fd8 100644
--- a/spring-test/src/main/java/org/springframework/test/context/TestConstructor.java
+++ b/spring-test/src/main/java/org/springframework/test/context/TestConstructor.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2024 the original author or authors.
+ * Copyright 2002-2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -53,9 +53,8 @@ import org.jspecify.annotations.Nullable;
* {@link org.springframework.test.context.junit.jupiter.web.SpringJUnitWebConfig @SpringJUnitWebConfig}
* or various test-related annotations from Spring Boot Test.
*
- * As of Spring Framework 5.3, this annotation will be inherited from an
- * enclosing test class by default. See
- * {@link NestedTestConfiguration @NestedTestConfiguration} for details.
+ * This annotation will be inherited from an enclosing test class by default.
+ * See {@link NestedTestConfiguration @NestedTestConfiguration} for details.
*
* @author Sam Brannen
* @since 5.2
@@ -88,7 +87,7 @@ public @interface TestConstructor {
* May alternatively be configured via the
* {@link org.springframework.core.SpringProperties SpringProperties}
* mechanism.
- * As of Spring Framework 5.3, this property may also be configured as a
+ * This property may also be configured as a
* JUnit
* Platform configuration parameter.
* @see #autowireMode
diff --git a/spring-test/src/main/java/org/springframework/test/context/TestExecutionListeners.java b/spring-test/src/main/java/org/springframework/test/context/TestExecutionListeners.java
index a06ea72d1b..bc12aeadf6 100644
--- a/spring-test/src/main/java/org/springframework/test/context/TestExecutionListeners.java
+++ b/spring-test/src/main/java/org/springframework/test/context/TestExecutionListeners.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2024 the original author or authors.
+ * Copyright 2002-2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -36,8 +36,8 @@ import org.springframework.core.annotation.AliasFor;
* mechanism described in {@link TestExecutionListener}.
*
* This annotation may be used as a meta-annotation to create custom
- * composed annotations. As of Spring Framework 5.3, this annotation will
- * be inherited from an enclosing test class by default. See
+ * composed annotations. In addition, this annotation will be inherited
+ * from an enclosing test class by default. See
* {@link NestedTestConfiguration @NestedTestConfiguration} for details.
*
* As of Spring Framework 5.3, this annotation will be inherited from an
- * enclosing test class by default. See
- * {@link NestedTestConfiguration @NestedTestConfiguration} for details.
+ * This annotation will be inherited from an enclosing test class by default.
+ * See {@link NestedTestConfiguration @NestedTestConfiguration} for details.
*
* @author Anatoliy Korovin
* @author Sam Brannen
diff --git a/spring-test/src/main/java/org/springframework/test/context/jdbc/SqlConfig.java b/spring-test/src/main/java/org/springframework/test/context/jdbc/SqlConfig.java
index c42cb28bfc..5446fef59d 100644
--- a/spring-test/src/main/java/org/springframework/test/context/jdbc/SqlConfig.java
+++ b/spring-test/src/main/java/org/springframework/test/context/jdbc/SqlConfig.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2022 the original author or authors.
+ * Copyright 2002-2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -54,8 +54,7 @@ import java.lang.annotation.Target;
* {@code ""}, As of Spring Framework 5.3, this annotation will be inherited from an
- * enclosing test class by default. See
+ * This annotation will be inherited from an enclosing test class by default. See
* {@link org.springframework.test.context.NestedTestConfiguration @NestedTestConfiguration}
* for details.
*
diff --git a/spring-test/src/main/java/org/springframework/test/context/jdbc/SqlGroup.java b/spring-test/src/main/java/org/springframework/test/context/jdbc/SqlGroup.java
index 75f8aa36c5..1b3f8f19fb 100644
--- a/spring-test/src/main/java/org/springframework/test/context/jdbc/SqlGroup.java
+++ b/spring-test/src/main/java/org/springframework/test/context/jdbc/SqlGroup.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2022 the original author or authors.
+ * Copyright 2002-2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -34,8 +34,7 @@ import java.lang.annotation.Target;
* This annotation may be used as a meta-annotation to create custom
* composed annotations.
*
- * As of Spring Framework 5.3, this annotation will be inherited from an
- * enclosing test class by default. See
+ * This annotation will be inherited from an enclosing test class by default. See
* {@link org.springframework.test.context.NestedTestConfiguration @NestedTestConfiguration}
* for details.
*
diff --git a/spring-test/src/main/java/org/springframework/test/context/jdbc/SqlMergeMode.java b/spring-test/src/main/java/org/springframework/test/context/jdbc/SqlMergeMode.java
index 6479a85524..ad997a4cc9 100644
--- a/spring-test/src/main/java/org/springframework/test/context/jdbc/SqlMergeMode.java
+++ b/spring-test/src/main/java/org/springframework/test/context/jdbc/SqlMergeMode.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2022 the original author or authors.
+ * Copyright 2002-2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -37,8 +37,7 @@ import java.lang.annotation.Target;
* This annotation may be used as a meta-annotation to create custom
* composed annotations with attribute overrides.
*
- * As of Spring Framework 5.3, this annotation will be inherited from an
- * enclosing test class by default. See
+ * This annotation will be inherited from an enclosing test class by default. See
* {@link org.springframework.test.context.NestedTestConfiguration @NestedTestConfiguration}
* for details.
*
diff --git a/spring-test/src/main/java/org/springframework/test/context/junit/jupiter/SpringExtension.java b/spring-test/src/main/java/org/springframework/test/context/junit/jupiter/SpringExtension.java
index 7810d5616d..370f98230c 100644
--- a/spring-test/src/main/java/org/springframework/test/context/junit/jupiter/SpringExtension.java
+++ b/spring-test/src/main/java/org/springframework/test/context/junit/jupiter/SpringExtension.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2024 the original author or authors.
+ * Copyright 2002-2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -147,9 +147,8 @@ public class SpringExtension implements BeforeAllCallback, AfterAllCallback, Tes
/**
* Delegates to {@link TestContextManager#prepareTestInstance}.
- * As of Spring Framework 5.3.2, this method also validates that test
- * methods and test lifecycle methods are not annotated with
- * {@link Autowired @Autowired}.
+ * This method also validates that test methods and test lifecycle methods
+ * are not annotated with {@link Autowired @Autowired}.
*/
@Override
public void postProcessTestInstance(Object testInstance, ExtensionContext context) throws Exception {
diff --git a/spring-test/src/main/java/org/springframework/test/context/junit/jupiter/SpringJUnitConfig.java b/spring-test/src/main/java/org/springframework/test/context/junit/jupiter/SpringJUnitConfig.java
index f493ad5b2c..8d311e438f 100644
--- a/spring-test/src/main/java/org/springframework/test/context/junit/jupiter/SpringJUnitConfig.java
+++ b/spring-test/src/main/java/org/springframework/test/context/junit/jupiter/SpringJUnitConfig.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2023 the original author or authors.
+ * Copyright 2002-2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -36,8 +36,7 @@ import org.springframework.test.context.ContextLoader;
* {@link ContextConfiguration @ContextConfiguration} from the Spring TestContext
* Framework.
*
- * As of Spring Framework 5.3, this annotation will effectively be inherited
- * from an enclosing test class by default. See
+ * This annotation will be inherited from an enclosing test class by default. See
* {@link org.springframework.test.context.NestedTestConfiguration @NestedTestConfiguration}
* for details.
*
diff --git a/spring-test/src/main/java/org/springframework/test/context/junit/jupiter/web/SpringJUnitWebConfig.java b/spring-test/src/main/java/org/springframework/test/context/junit/jupiter/web/SpringJUnitWebConfig.java
index 595695ee89..b42dbd30ed 100644
--- a/spring-test/src/main/java/org/springframework/test/context/junit/jupiter/web/SpringJUnitWebConfig.java
+++ b/spring-test/src/main/java/org/springframework/test/context/junit/jupiter/web/SpringJUnitWebConfig.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2023 the original author or authors.
+ * Copyright 2002-2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -39,8 +39,7 @@ import org.springframework.test.context.web.WebAppConfiguration;
* {@link WebAppConfiguration @WebAppConfiguration} from the Spring TestContext
* Framework.
*
- * As of Spring Framework 5.3, this annotation will effectively be inherited
- * from an enclosing test class by default. See
+ * This annotation will be inherited from an enclosing test class by default. See
* {@link org.springframework.test.context.NestedTestConfiguration @NestedTestConfiguration}
* for details.
*
diff --git a/spring-test/src/main/java/org/springframework/test/context/web/WebAppConfiguration.java b/spring-test/src/main/java/org/springframework/test/context/web/WebAppConfiguration.java
index 52cc39e6b7..5478fbc7b2 100644
--- a/spring-test/src/main/java/org/springframework/test/context/web/WebAppConfiguration.java
+++ b/spring-test/src/main/java/org/springframework/test/context/web/WebAppConfiguration.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2024 the original author or authors.
+ * Copyright 2002-2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -41,8 +41,7 @@ import java.lang.annotation.Target;
* This annotation may be used as a meta-annotation to create custom
* composed annotations.
*
- * As of Spring Framework 5.3, this annotation will be inherited from an
- * enclosing test class by default. See
+ * This annotation will be inherited from an enclosing test class by default. See
* {@link org.springframework.test.context.NestedTestConfiguration @NestedTestConfiguration}
* for details.
*
diff --git a/spring-test/src/main/java/org/springframework/test/util/TestSocketUtils.java b/spring-test/src/main/java/org/springframework/test/util/TestSocketUtils.java
index 3f1b8ae3ac..201c9b70d7 100644
--- a/spring-test/src/main/java/org/springframework/test/util/TestSocketUtils.java
+++ b/spring-test/src/main/java/org/springframework/test/util/TestSocketUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2023 the original author or authors.
+ * Copyright 2002-2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -28,9 +28,8 @@ import org.springframework.util.Assert;
* Simple utility for finding available TCP ports on {@code localhost} for use in
* integration testing scenarios.
*
- * This is a limited form of {@code org.springframework.util.SocketUtils}, which
- * has been deprecated since Spring Framework 5.3.16 and removed in Spring
- * Framework 6.0.
+ * This is a limited form of the original {@code org.springframework.util.SocketUtils}
+ * class which was removed in Spring Framework 6.0.
*
* {@code TestSocketUtils} can be used in integration tests which start an
* external server on an available random port. However, these utilities make no
diff --git a/spring-tx/src/main/java/org/springframework/dao/annotation/PersistenceExceptionTranslationPostProcessor.java b/spring-tx/src/main/java/org/springframework/dao/annotation/PersistenceExceptionTranslationPostProcessor.java
index 6627cc080f..bb3288f3b0 100644
--- a/spring-tx/src/main/java/org/springframework/dao/annotation/PersistenceExceptionTranslationPostProcessor.java
+++ b/spring-tx/src/main/java/org/springframework/dao/annotation/PersistenceExceptionTranslationPostProcessor.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2023 the original author or authors.
+ * Copyright 2002-2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -46,10 +46,10 @@ import org.springframework.util.Assert;
* with the {@code @Repository} annotation, along with defining this post-processor
* as a bean in the application context.
*
- * As of 5.3, {@code PersistenceExceptionTranslator} beans will be sorted according
- * to Spring's dependency ordering rules: see {@link org.springframework.core.Ordered}
- * and {@link org.springframework.core.annotation.Order}. Note that such beans will
- * get retrieved from any scope, not just singleton scope, as of this 5.3 revision.
+ * {@code PersistenceExceptionTranslator} beans are sorted according to Spring's
+ * dependency ordering rules: see {@link org.springframework.core.Ordered} and
+ * {@link org.springframework.core.annotation.Order}. Note that such beans will
+ * get retrieved from any scope, not just singleton scope.
*
* @author Rod Johnson
* @author Juergen Hoeller
diff --git a/spring-tx/src/main/java/org/springframework/transaction/support/TransactionSynchronization.java b/spring-tx/src/main/java/org/springframework/transaction/support/TransactionSynchronization.java
index 5d47f89db0..9ed81c4030 100644
--- a/spring-tx/src/main/java/org/springframework/transaction/support/TransactionSynchronization.java
+++ b/spring-tx/src/main/java/org/springframework/transaction/support/TransactionSynchronization.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2024 the original author or authors.
+ * Copyright 2002-2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -32,9 +32,9 @@ import org.springframework.core.Ordered;
* allowing for fine-grained interaction with their execution order (if necessary).
*
* Implements the {@link Ordered} interface to enable the execution order of
- * synchronizations to be controlled declaratively, as of 5.3. The default
- * {@link #getOrder() order} is {@link Ordered#LOWEST_PRECEDENCE}, indicating
- * late execution; return a lower value for earlier execution.
+ * synchronizations to be controlled declaratively. The default {@link #getOrder()
+ * order} is {@link Ordered#LOWEST_PRECEDENCE}, indicating late execution; return
+ * a lower value for earlier execution.
*
* @author Juergen Hoeller
* @since 02.06.2003
diff --git a/spring-tx/src/main/java/org/springframework/transaction/support/TransactionSynchronizationAdapter.java b/spring-tx/src/main/java/org/springframework/transaction/support/TransactionSynchronizationAdapter.java
index 4eb3d678a2..09e36c1a0b 100644
--- a/spring-tx/src/main/java/org/springframework/transaction/support/TransactionSynchronizationAdapter.java
+++ b/spring-tx/src/main/java/org/springframework/transaction/support/TransactionSynchronizationAdapter.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2020 the original author or authors.
+ * Copyright 2002-2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -32,7 +32,7 @@ import org.springframework.core.Ordered;
* @deprecated as of 5.3, in favor of the default methods on the
* {@link TransactionSynchronization} interface
*/
-@Deprecated
+@Deprecated(since = "5.3")
public abstract class TransactionSynchronizationAdapter implements TransactionSynchronization, Ordered {
@Override
diff --git a/spring-web/src/main/java/org/springframework/web/bind/MethodArgumentNotValidException.java b/spring-web/src/main/java/org/springframework/web/bind/MethodArgumentNotValidException.java
index 442c9ac30d..d95b092605 100644
--- a/spring-web/src/main/java/org/springframework/web/bind/MethodArgumentNotValidException.java
+++ b/spring-web/src/main/java/org/springframework/web/bind/MethodArgumentNotValidException.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2024 the original author or authors.
+ * Copyright 2002-2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -30,8 +30,8 @@ import org.springframework.web.ErrorResponse;
import org.springframework.web.util.BindErrorUtils;
/**
- * Exception to be thrown when validation on an argument annotated with {@code @Valid} fails.
- * Extends {@link BindException} as of 5.3.
+ * {@link BindException} to be thrown when validation on an argument annotated
+ * with {@code @Valid} fails.
*
* @author Rossen Stoyanchev
* @author Juergen Hoeller
diff --git a/spring-web/src/main/java/org/springframework/web/bind/annotation/CookieValue.java b/spring-web/src/main/java/org/springframework/web/bind/annotation/CookieValue.java
index 9e8f3dae56..824d099fe2 100644
--- a/spring-web/src/main/java/org/springframework/web/bind/annotation/CookieValue.java
+++ b/spring-web/src/main/java/org/springframework/web/bind/annotation/CookieValue.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2021 the original author or authors.
+ * Copyright 2002-2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -30,11 +30,6 @@ import org.springframework.core.annotation.AliasFor;
* The method parameter may be declared as type {@link jakarta.servlet.http.Cookie}
* or as cookie value type (String, int, etc.).
*
- * Note that with spring-webmvc 5.3.x and earlier, the cookie value is URL
- * decoded. This will be changed in 6.0 but in the meantime, applications can
- * also declare parameters of type {@link jakarta.servlet.http.Cookie} to access
- * the raw value.
- *
* @author Juergen Hoeller
* @author Sam Brannen
* @since 3.0
diff --git a/spring-web/src/main/java/org/springframework/web/bind/annotation/ExceptionHandler.java b/spring-web/src/main/java/org/springframework/web/bind/annotation/ExceptionHandler.java
index 8fcd4f337a..ed19bdf604 100644
--- a/spring-web/src/main/java/org/springframework/web/bind/annotation/ExceptionHandler.java
+++ b/spring-web/src/main/java/org/springframework/web/bind/annotation/ExceptionHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2024 the original author or authors.
+ * Copyright 2002-2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -37,8 +37,7 @@ import org.springframework.core.annotation.AliasFor;
* specific exception. This also serves as a mapping hint if the annotation
* itself does not narrow the exception types through its {@link #value()}.
* You may refer to a top-level exception being propagated or to a nested
- * cause within a wrapper exception. As of 5.3, any cause level is being
- * exposed, whereas previously only an immediate cause was considered.
+ * cause within a wrapper exception. Any cause level is exposed.
* As of Spring Framework 5.3, the order value is lazily retrieved using
- * the following algorithm and cached. Note, however, that a
- * {@link ControllerAdvice @ControllerAdvice} bean that is configured as a
- * scoped bean — for example, as a request-scoped or session-scoped
- * bean — will not be eagerly resolved. Consequently, {@link Ordered} is
- * not honored for scoped {@code @ControllerAdvice} beans.
+ * The order value is lazily retrieved using the following algorithm and cached.
+ * Note, however, that a {@link ControllerAdvice @ControllerAdvice} bean that is
+ * configured as a scoped bean — for example, as a request-scoped or
+ * session-scoped bean — will not be eagerly resolved. Consequently,
+ * {@link Ordered} is not honored for scoped {@code @ControllerAdvice} beans.
* Note that if {@link #setLocationValues(List) locationValues} are provided,
- * instead of loaded Resource-based locations, this method will return
- * empty until after initialization via {@link #afterPropertiesSet()}.
- * Note: As of 5.3.11 the list of locations may be filtered to
- * exclude those that don't actually exist and therefore the list returned from this
+ * instead of loaded Resource-based locations, this method will return empty
+ * until after initialization via {@link #afterPropertiesSet()}.
+ * Note: The list of locations may be filtered to exclude
+ * those that don't actually exist and therefore the list returned from this
* method may be a subset of all given locations. See {@link #setOptimizeLocations}.
* @see #setLocationValues
* @see #setLocations
diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/socket/server/support/WebSocketHandlerAdapter.java b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/server/support/WebSocketHandlerAdapter.java
index fad77e3c14..8a9b0be965 100644
--- a/spring-webflux/src/main/java/org/springframework/web/reactive/socket/server/support/WebSocketHandlerAdapter.java
+++ b/spring-webflux/src/main/java/org/springframework/web/reactive/socket/server/support/WebSocketHandlerAdapter.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2023 the original author or authors.
+ * Copyright 2002-2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -39,9 +39,8 @@ import org.springframework.web.server.ServerWebExchange;
* which checks the WebSocket handshake request parameters, upgrades to a
* WebSocket interaction, and uses the {@link WebSocketHandler} to handle it.
*
- * As of 5.3 the WebFlux Java configuration, imported via
- * {@code @EnableWebFlux}, includes a declaration of this adapter and therefore
- * it no longer needs to be present in application configuration.
+ * Note that the WebFlux Java configuration, imported via {@code @EnableWebFlux},
+ * includes a declaration of this adapter.
*
* @author Rossen Stoyanchev
* @since 5.0
diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/ResourceHttpRequestHandler.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/ResourceHttpRequestHandler.java
index b4f1ce5ba0..bb971e13f1 100644
--- a/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/ResourceHttpRequestHandler.java
+++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/ResourceHttpRequestHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2024 the original author or authors.
+ * Copyright 2002-2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -186,8 +186,8 @@ public class ResourceHttpRequestHandler extends WebContentGenerator
* {@code Resource} locations provided via {@link #setLocations(List) setLocations}.
* Note that the returned list is fully initialized only after
* initialization via {@link #afterPropertiesSet()}.
- * Note: As of 5.3.11 the list of locations may be filtered to
- * exclude those that don't actually exist and therefore the list returned from this
+ * Note: The list of locations may be filtered to exclude
+ * those that don't actually exist, and therefore the list returned from this
* method may be a subset of all given locations. See {@link #setOptimizeLocations}.
* @see #setLocationValues
* @see #setLocations
Switching to default {@code TestExecutionListener} implementations
diff --git a/spring-test/src/main/java/org/springframework/test/context/TestPropertySource.java b/spring-test/src/main/java/org/springframework/test/context/TestPropertySource.java
index f53079a8b7..5cfbf2f358 100644
--- a/spring-test/src/main/java/org/springframework/test/context/TestPropertySource.java
+++ b/spring-test/src/main/java/org/springframework/test/context/TestPropertySource.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2024 the original author or authors.
+ * Copyright 2002-2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -80,9 +80,8 @@ import org.springframework.core.io.support.PropertySourceFactory;
* of both annotations can lead to ambiguity during the attribute resolution
* process. Note, however, that ambiguity can be avoided via explicit annotation
* attribute overrides using {@link AliasFor @AliasFor}.
- * {}, or {@code DEFAULT}. Explicit local configuration
* therefore overrides global configuration.
*
- *
*