From 120d512ff6ea2591ed96ccdbb1f374398af7a465 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Fri, 17 Mar 2023 18:09:46 +0100 Subject: [PATCH] Polishing (backported from main) --- ...ierAnnotationAutowireCandidateResolver.java | 8 +++++--- .../factory/xml/XmlBeanDefinitionReader.java | 5 +++-- .../DefaultListableBeanFactoryTests.java | 18 +----------------- 3 files changed, 9 insertions(+), 22 deletions(-) diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/annotation/QualifierAnnotationAutowireCandidateResolver.java b/spring-beans/src/main/java/org/springframework/beans/factory/annotation/QualifierAnnotationAutowireCandidateResolver.java index d7e7e45574f1..1f81b07361fa 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/annotation/QualifierAnnotationAutowireCandidateResolver.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/annotation/QualifierAnnotationAutowireCandidateResolver.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2020 the original author or authors. + * Copyright 2002-2023 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. @@ -25,6 +25,7 @@ import org.springframework.beans.SimpleTypeConverter; import org.springframework.beans.TypeConverter; +import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.NoSuchBeanDefinitionException; import org.springframework.beans.factory.config.BeanDefinitionHolder; import org.springframework.beans.factory.config.DependencyDescriptor; @@ -240,10 +241,11 @@ protected boolean checkQualifier( } } if (targetAnnotation == null) { + BeanFactory beanFactory = getBeanFactory(); // Look for matching annotation on the target class - if (getBeanFactory() != null) { + if (beanFactory != null) { try { - Class beanType = getBeanFactory().getType(bdHolder.getBeanName()); + Class beanType = beanFactory.getType(bdHolder.getBeanName()); if (beanType != null) { targetAnnotation = AnnotationUtils.getAnnotation(ClassUtils.getUserClass(beanType), type); } diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/xml/XmlBeanDefinitionReader.java b/spring-beans/src/main/java/org/springframework/beans/factory/xml/XmlBeanDefinitionReader.java index 4c930c3820d8..65a71d5f232b 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/xml/XmlBeanDefinitionReader.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/xml/XmlBeanDefinitionReader.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2020 the original author or authors. + * Copyright 2002-2023 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. @@ -547,7 +547,8 @@ public NamespaceHandlerResolver getNamespaceHandlerResolver() { * @see DefaultNamespaceHandlerResolver#DefaultNamespaceHandlerResolver(ClassLoader) */ protected NamespaceHandlerResolver createDefaultNamespaceHandlerResolver() { - ClassLoader cl = (getResourceLoader() != null ? getResourceLoader().getClassLoader() : getBeanClassLoader()); + ResourceLoader resourceLoader = getResourceLoader(); + ClassLoader cl = (resourceLoader != null ? resourceLoader.getClassLoader() : getBeanClassLoader()); return new DefaultNamespaceHandlerResolver(cl); } diff --git a/spring-beans/src/test/java/org/springframework/beans/factory/DefaultListableBeanFactoryTests.java b/spring-beans/src/test/java/org/springframework/beans/factory/DefaultListableBeanFactoryTests.java index bd01ba2df11e..45a4bb48c7bf 100644 --- a/spring-beans/src/test/java/org/springframework/beans/factory/DefaultListableBeanFactoryTests.java +++ b/spring-beans/src/test/java/org/springframework/beans/factory/DefaultListableBeanFactoryTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2002-2023 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. @@ -436,7 +436,6 @@ void nonStaticPrototypeFactoryMethodFoundByNonEagerTypeMatching() { @Test void empty() { - ListableBeanFactory lbf = new DefaultListableBeanFactory(); assertThat(lbf.getBeanDefinitionNames() != null).as("No beans defined --> array != null").isTrue(); assertThat(lbf.getBeanDefinitionNames().length == 0).as("No beans defined after no arg constructor").isTrue(); assertThat(lbf.getBeanDefinitionCount() == 0).as("No beans defined after no arg constructor").isTrue(); @@ -778,21 +777,6 @@ void getTypeWorksAfterParentChildMerging() { assertThat(factory.getType("child")).isEqualTo(DerivedTestBean.class); } - @Test - void nameAlreadyBound() { - Properties p = new Properties(); - p.setProperty("kerry.(class)", TestBean.class.getName()); - p.setProperty("kerry.age", "35"); - registerBeanDefinitions(p); - try { - registerBeanDefinitions(p); - } - catch (BeanDefinitionStoreException ex) { - assertThat(ex.getBeanName()).isEqualTo("kerry"); - // expected - } - } - private void singleTestBean(ListableBeanFactory lbf) { assertThat(lbf.getBeanDefinitionCount() == 1).as("1 beans defined").isTrue(); String[] names = lbf.getBeanDefinitionNames();