From d267a96bce98d33659f0e9d5eaea5e2aad4c2adb Mon Sep 17 00:00:00 2001 From: Matheus Cruz Date: Fri, 14 Feb 2025 22:39:42 -0300 Subject: [PATCH] Solve issue about named beans (cherry picked from commit 37dc7982bea9116f69de0df4030052f8402eb2e3) --- .../di/deployment/SpringDIProcessor.java | 2 +- .../spring/MyConfigurationWithNamedBean.java | 13 +++++++++++++ .../quarkus/it/spring/UseNamedBeanService.java | 18 ++++++++++++++++++ 3 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 integration-tests/spring-di/src/main/java/io/quarkus/it/spring/MyConfigurationWithNamedBean.java create mode 100644 integration-tests/spring-di/src/main/java/io/quarkus/it/spring/UseNamedBeanService.java diff --git a/extensions/spring-di/deployment/src/main/java/io/quarkus/spring/di/deployment/SpringDIProcessor.java b/extensions/spring-di/deployment/src/main/java/io/quarkus/spring/di/deployment/SpringDIProcessor.java index f316b50fe49de..ffd615d9a998c 100644 --- a/extensions/spring-di/deployment/src/main/java/io/quarkus/spring/di/deployment/SpringDIProcessor.java +++ b/extensions/spring-di/deployment/src/main/java/io/quarkus/spring/di/deployment/SpringDIProcessor.java @@ -526,7 +526,7 @@ private String getBeanNameFromBeanInstance(AnnotationInstance annotationInstance } if (beanName == null || beanName.isEmpty()) { final AnnotationValue beanValueAnnotationValue = annotationInstance.value(); - if (beanNameAnnotationValue != null) { + if (beanValueAnnotationValue != null) { beanName = determineName(beanValueAnnotationValue); } } diff --git a/integration-tests/spring-di/src/main/java/io/quarkus/it/spring/MyConfigurationWithNamedBean.java b/integration-tests/spring-di/src/main/java/io/quarkus/it/spring/MyConfigurationWithNamedBean.java new file mode 100644 index 0000000000000..bf6c0459e2885 --- /dev/null +++ b/integration-tests/spring-di/src/main/java/io/quarkus/it/spring/MyConfigurationWithNamedBean.java @@ -0,0 +1,13 @@ +package io.quarkus.it.spring; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class MyConfigurationWithNamedBean { + + @Bean("mySpecialName") + public String foo() { + return "foo"; + } +} diff --git a/integration-tests/spring-di/src/main/java/io/quarkus/it/spring/UseNamedBeanService.java b/integration-tests/spring-di/src/main/java/io/quarkus/it/spring/UseNamedBeanService.java new file mode 100644 index 0000000000000..5444b8f59bcbf --- /dev/null +++ b/integration-tests/spring-di/src/main/java/io/quarkus/it/spring/UseNamedBeanService.java @@ -0,0 +1,18 @@ +package io.quarkus.it.spring; + +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Service; + +@Service +public class UseNamedBeanService { + + String name; + + public UseNamedBeanService(@Qualifier("mySpecialName") String name) { + this.name = name; + } + + public String getName() { + return name; + } +}