From 4b6558c7e57f41c5b2f7f182f3ca2cc674c7a273 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Tue, 5 Feb 2019 00:42:24 +0100 Subject: [PATCH] Avoid duplicate class introspection during findAnnotationOnBean Closes gh-22318 (cherry picked from commit ca7634dfe8389e2be85874628e12fac6dd781466) --- .../beans/factory/support/DefaultListableBeanFactory.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/support/DefaultListableBeanFactory.java b/spring-beans/src/main/java/org/springframework/beans/factory/support/DefaultListableBeanFactory.java index 92de553740b..f9d1ae61a66 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/support/DefaultListableBeanFactory.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/support/DefaultListableBeanFactory.java @@ -584,7 +584,10 @@ public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFacto if (bd instanceof AbstractBeanDefinition) { AbstractBeanDefinition abd = (AbstractBeanDefinition) bd; if (abd.hasBeanClass()) { - ann = AnnotationUtils.findAnnotation(abd.getBeanClass(), annotationType); + Class beanClass = abd.getBeanClass(); + if (beanClass != beanType) { + ann = AnnotationUtils.findAnnotation(beanClass, annotationType); + } } } }