diff --git a/spring-context/src/main/java/org/springframework/context/annotation/AnnotatedBeanDefinitionReader.java b/spring-context/src/main/java/org/springframework/context/annotation/AnnotatedBeanDefinitionReader.java index 3ac5edfa5952..f79903075d90 100644 --- a/spring-context/src/main/java/org/springframework/context/annotation/AnnotatedBeanDefinitionReader.java +++ b/spring-context/src/main/java/org/springframework/context/annotation/AnnotatedBeanDefinitionReader.java @@ -43,6 +43,7 @@ * @author Chris Beams * @author Sam Brannen * @author Phillip Webb + * @author Yanming Zhou * @since 3.0 * @see AnnotationConfigApplicationContext#register */ @@ -263,13 +264,8 @@ private void doRegisterBean(Class beanClass, @Nullable String name, AnnotationConfigUtils.processCommonDefinitionAnnotations(abd); if (qualifiers != null) { for (Class qualifier : qualifiers) { - if (Primary.class == qualifier) { - abd.setPrimary(true); - } - else if (Lazy.class == qualifier) { - abd.setLazyInit(true); - } - else { + if (Primary.class != qualifier && Lazy.class != qualifier) { + // Primary and Lazy is processed by AnnotationConfigUtils.processCommonDefinitionAnnotations() abd.addQualifier(new AutowireCandidateQualifier(qualifier)); } }