From fc8e6705d627af72c06d9719a55d99b23d16fbee Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Thu, 12 May 2022 13:15:08 +0200 Subject: [PATCH] Move AutowiredArguments support classes to beans.factory.aot This reduces the package cycle between aot and annotation to an Autowired annotation reference in ConstructorOrFactoryMethodResolver, to be resolved along with gh-27920. See gh-28414 --- .../annotation/AutowiredAnnotationBeanPostProcessor.java | 3 +++ .../factory/{annotation => aot}/AutowiredArguments.java | 2 +- .../{annotation => aot}/AutowiredArgumentsCodeGenerator.java | 2 +- .../{annotation => aot}/AutowiredElementResolver.java | 2 +- .../{annotation => aot}/AutowiredFieldValueResolver.java | 2 +- .../AutowiredInstantiationArgumentsResolver.java | 5 ++--- .../AutowiredMethodArgumentsResolver.java | 2 +- .../beans/factory/aot/InstanceSupplierCodeGenerator.java | 2 -- .../AutowiredArgumentsCodeGeneratorTests.java | 2 +- .../AutowiredFieldValueResolverTests.java | 2 +- .../AutowiredInstantiationArgumentsResolverTests.java | 5 +++-- .../AutowiredMethodArgumentsResolverTests.java | 2 +- 12 files changed, 16 insertions(+), 15 deletions(-) rename spring-beans/src/main/java/org/springframework/beans/factory/{annotation => aot}/AutowiredArguments.java (97%) rename spring-beans/src/main/java/org/springframework/beans/factory/{annotation => aot}/AutowiredArgumentsCodeGenerator.java (98%) rename spring-beans/src/main/java/org/springframework/beans/factory/{annotation => aot}/AutowiredElementResolver.java (97%) rename spring-beans/src/main/java/org/springframework/beans/factory/{annotation => aot}/AutowiredFieldValueResolver.java (99%) rename spring-beans/src/main/java/org/springframework/beans/factory/{annotation => aot}/AutowiredInstantiationArgumentsResolver.java (99%) rename spring-beans/src/main/java/org/springframework/beans/factory/{annotation => aot}/AutowiredMethodArgumentsResolver.java (99%) rename spring-beans/src/test/java/org/springframework/beans/factory/{annotation => aot}/AutowiredArgumentsCodeGeneratorTests.java (99%) rename spring-beans/src/test/java/org/springframework/beans/factory/{annotation => aot}/AutowiredFieldValueResolverTests.java (99%) rename spring-beans/src/test/java/org/springframework/beans/factory/{annotation => aot}/AutowiredInstantiationArgumentsResolverTests.java (99%) rename spring-beans/src/test/java/org/springframework/beans/factory/{annotation => aot}/AutowiredMethodArgumentsResolverTests.java (99%) diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessor.java b/spring-beans/src/main/java/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessor.java index 1a179045c2..959c80a34e 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessor.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessor.java @@ -58,6 +58,9 @@ import org.springframework.beans.factory.BeanFactoryUtils; import org.springframework.beans.factory.InjectionPoint; import org.springframework.beans.factory.NoSuchBeanDefinitionException; import org.springframework.beans.factory.UnsatisfiedDependencyException; +import org.springframework.beans.factory.aot.AutowiredArgumentsCodeGenerator; +import org.springframework.beans.factory.aot.AutowiredFieldValueResolver; +import org.springframework.beans.factory.aot.AutowiredMethodArgumentsResolver; import org.springframework.beans.factory.aot.BeanRegistrationAotContribution; import org.springframework.beans.factory.aot.BeanRegistrationAotProcessor; import org.springframework.beans.factory.aot.BeanRegistrationCode; diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/annotation/AutowiredArguments.java b/spring-beans/src/main/java/org/springframework/beans/factory/aot/AutowiredArguments.java similarity index 97% rename from spring-beans/src/main/java/org/springframework/beans/factory/annotation/AutowiredArguments.java rename to spring-beans/src/main/java/org/springframework/beans/factory/aot/AutowiredArguments.java index c7dfc573f7..0ad070dc06 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/annotation/AutowiredArguments.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/aot/AutowiredArguments.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.beans.factory.annotation; +package org.springframework.beans.factory.aot; import org.springframework.lang.Nullable; import org.springframework.util.Assert; diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/annotation/AutowiredArgumentsCodeGenerator.java b/spring-beans/src/main/java/org/springframework/beans/factory/aot/AutowiredArgumentsCodeGenerator.java similarity index 98% rename from spring-beans/src/main/java/org/springframework/beans/factory/annotation/AutowiredArgumentsCodeGenerator.java rename to spring-beans/src/main/java/org/springframework/beans/factory/aot/AutowiredArgumentsCodeGenerator.java index db68b7cba8..49a8c86c13 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/annotation/AutowiredArgumentsCodeGenerator.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/aot/AutowiredArgumentsCodeGenerator.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.beans.factory.annotation; +package org.springframework.beans.factory.aot; import java.lang.reflect.Constructor; import java.lang.reflect.Executable; diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/annotation/AutowiredElementResolver.java b/spring-beans/src/main/java/org/springframework/beans/factory/aot/AutowiredElementResolver.java similarity index 97% rename from spring-beans/src/main/java/org/springframework/beans/factory/annotation/AutowiredElementResolver.java rename to spring-beans/src/main/java/org/springframework/beans/factory/aot/AutowiredElementResolver.java index c6d3990c16..1cd1659083 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/annotation/AutowiredElementResolver.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/aot/AutowiredElementResolver.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.beans.factory.annotation; +package org.springframework.beans.factory.aot; import java.util.Set; diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/annotation/AutowiredFieldValueResolver.java b/spring-beans/src/main/java/org/springframework/beans/factory/aot/AutowiredFieldValueResolver.java similarity index 99% rename from spring-beans/src/main/java/org/springframework/beans/factory/annotation/AutowiredFieldValueResolver.java rename to spring-beans/src/main/java/org/springframework/beans/factory/aot/AutowiredFieldValueResolver.java index d269202e86..ed10d48d55 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/annotation/AutowiredFieldValueResolver.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/aot/AutowiredFieldValueResolver.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.beans.factory.annotation; +package org.springframework.beans.factory.aot; import java.lang.reflect.Field; import java.util.LinkedHashSet; diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/annotation/AutowiredInstantiationArgumentsResolver.java b/spring-beans/src/main/java/org/springframework/beans/factory/aot/AutowiredInstantiationArgumentsResolver.java similarity index 99% rename from spring-beans/src/main/java/org/springframework/beans/factory/annotation/AutowiredInstantiationArgumentsResolver.java rename to spring-beans/src/main/java/org/springframework/beans/factory/aot/AutowiredInstantiationArgumentsResolver.java index 8abf157307..b67b2376a9 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/annotation/AutowiredInstantiationArgumentsResolver.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/aot/AutowiredInstantiationArgumentsResolver.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.beans.factory.annotation; +package org.springframework.beans.factory.aot; import java.lang.reflect.Array; import java.lang.reflect.Constructor; @@ -69,8 +69,7 @@ import org.springframework.util.function.ThrowingFunction; * @since 6.0 * @see AutowiredArguments */ -public final class AutowiredInstantiationArgumentsResolver - extends AutowiredElementResolver { +public final class AutowiredInstantiationArgumentsResolver extends AutowiredElementResolver { private final ExecutableLookup lookup; diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/annotation/AutowiredMethodArgumentsResolver.java b/spring-beans/src/main/java/org/springframework/beans/factory/aot/AutowiredMethodArgumentsResolver.java similarity index 99% rename from spring-beans/src/main/java/org/springframework/beans/factory/annotation/AutowiredMethodArgumentsResolver.java rename to spring-beans/src/main/java/org/springframework/beans/factory/aot/AutowiredMethodArgumentsResolver.java index 1170c0f133..9fce1f6fc0 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/annotation/AutowiredMethodArgumentsResolver.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/aot/AutowiredMethodArgumentsResolver.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.beans.factory.annotation; +package org.springframework.beans.factory.aot; import java.lang.reflect.Method; import java.util.Arrays; diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/aot/InstanceSupplierCodeGenerator.java b/spring-beans/src/main/java/org/springframework/beans/factory/aot/InstanceSupplierCodeGenerator.java index 6beb406a0e..a0703f5668 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/aot/InstanceSupplierCodeGenerator.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/aot/InstanceSupplierCodeGenerator.java @@ -30,8 +30,6 @@ import org.springframework.aot.generate.GenerationContext; import org.springframework.aot.generate.MethodGenerator; import org.springframework.aot.hint.ExecutableHint; import org.springframework.aot.hint.ExecutableMode; -import org.springframework.beans.factory.annotation.AutowiredArgumentsCodeGenerator; -import org.springframework.beans.factory.annotation.AutowiredInstantiationArgumentsResolver; import org.springframework.beans.factory.support.InstanceSupplier; import org.springframework.beans.factory.support.RegisteredBean; import org.springframework.core.ResolvableType; diff --git a/spring-beans/src/test/java/org/springframework/beans/factory/annotation/AutowiredArgumentsCodeGeneratorTests.java b/spring-beans/src/test/java/org/springframework/beans/factory/aot/AutowiredArgumentsCodeGeneratorTests.java similarity index 99% rename from spring-beans/src/test/java/org/springframework/beans/factory/annotation/AutowiredArgumentsCodeGeneratorTests.java rename to spring-beans/src/test/java/org/springframework/beans/factory/aot/AutowiredArgumentsCodeGeneratorTests.java index 3027873f77..67a3c5eb63 100644 --- a/spring-beans/src/test/java/org/springframework/beans/factory/annotation/AutowiredArgumentsCodeGeneratorTests.java +++ b/spring-beans/src/test/java/org/springframework/beans/factory/aot/AutowiredArgumentsCodeGeneratorTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.beans.factory.annotation; +package org.springframework.beans.factory.aot; import java.lang.reflect.Constructor; import java.lang.reflect.Method; diff --git a/spring-beans/src/test/java/org/springframework/beans/factory/annotation/AutowiredFieldValueResolverTests.java b/spring-beans/src/test/java/org/springframework/beans/factory/aot/AutowiredFieldValueResolverTests.java similarity index 99% rename from spring-beans/src/test/java/org/springframework/beans/factory/annotation/AutowiredFieldValueResolverTests.java rename to spring-beans/src/test/java/org/springframework/beans/factory/aot/AutowiredFieldValueResolverTests.java index 0e8f60d8e6..eb233d38c1 100644 --- a/spring-beans/src/test/java/org/springframework/beans/factory/annotation/AutowiredFieldValueResolverTests.java +++ b/spring-beans/src/test/java/org/springframework/beans/factory/aot/AutowiredFieldValueResolverTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.beans.factory.annotation; +package org.springframework.beans.factory.aot; import java.util.ArrayList; import java.util.List; diff --git a/spring-beans/src/test/java/org/springframework/beans/factory/annotation/AutowiredInstantiationArgumentsResolverTests.java b/spring-beans/src/test/java/org/springframework/beans/factory/aot/AutowiredInstantiationArgumentsResolverTests.java similarity index 99% rename from spring-beans/src/test/java/org/springframework/beans/factory/annotation/AutowiredInstantiationArgumentsResolverTests.java rename to spring-beans/src/test/java/org/springframework/beans/factory/aot/AutowiredInstantiationArgumentsResolverTests.java index 255309676e..f606d50304 100644 --- a/spring-beans/src/test/java/org/springframework/beans/factory/annotation/AutowiredInstantiationArgumentsResolverTests.java +++ b/spring-beans/src/test/java/org/springframework/beans/factory/aot/AutowiredInstantiationArgumentsResolverTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.beans.factory.annotation; +package org.springframework.beans.factory.aot; import java.io.InputStream; import java.lang.annotation.Retention; @@ -38,7 +38,8 @@ import org.junit.jupiter.params.support.AnnotationConsumer; import org.springframework.beans.factory.BeanCurrentlyInCreationException; import org.springframework.beans.factory.ObjectProvider; import org.springframework.beans.factory.UnsatisfiedDependencyException; -import org.springframework.beans.factory.annotation.AutowiredInstantiationArgumentsResolverTests.Enclosing.InnerSingleArgConstructor; +import org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor; +import org.springframework.beans.factory.aot.AutowiredInstantiationArgumentsResolverTests.Enclosing.InnerSingleArgConstructor; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.beans.factory.config.ConstructorArgumentValues.ValueHolder; import org.springframework.beans.factory.config.DependencyDescriptor; diff --git a/spring-beans/src/test/java/org/springframework/beans/factory/annotation/AutowiredMethodArgumentsResolverTests.java b/spring-beans/src/test/java/org/springframework/beans/factory/aot/AutowiredMethodArgumentsResolverTests.java similarity index 99% rename from spring-beans/src/test/java/org/springframework/beans/factory/annotation/AutowiredMethodArgumentsResolverTests.java rename to spring-beans/src/test/java/org/springframework/beans/factory/aot/AutowiredMethodArgumentsResolverTests.java index 5168e8263c..4ed2bfa26a 100644 --- a/spring-beans/src/test/java/org/springframework/beans/factory/annotation/AutowiredMethodArgumentsResolverTests.java +++ b/spring-beans/src/test/java/org/springframework/beans/factory/aot/AutowiredMethodArgumentsResolverTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.beans.factory.annotation; +package org.springframework.beans.factory.aot; import java.io.InputStream; import java.util.ArrayList;