From fb4ad2f3ba0bf0d968a49a05efd8fd41f3e2509d Mon Sep 17 00:00:00 2001 From: bnbakp0582 <126920224+bnbakp0582@users.noreply.github.com> Date: Sat, 8 Jul 2023 22:02:38 +0800 Subject: [PATCH] Simplify DefaultSingletonBeanRegistry.isDependent() Move `alreadySeen` handling out of for-loop. Closes gh-30839 --- .../factory/support/DefaultSingletonBeanRegistry.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/support/DefaultSingletonBeanRegistry.java b/spring-beans/src/main/java/org/springframework/beans/factory/support/DefaultSingletonBeanRegistry.java index 98ca29c7a43..b201fc5a629 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/support/DefaultSingletonBeanRegistry.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/support/DefaultSingletonBeanRegistry.java @@ -453,11 +453,11 @@ public class DefaultSingletonBeanRegistry extends SimpleAliasRegistry implements if (dependentBeans.contains(dependentBeanName)) { return true; } + if (alreadySeen == null) { + alreadySeen = new HashSet<>(); + } + alreadySeen.add(beanName); for (String transitiveDependency : dependentBeans) { - if (alreadySeen == null) { - alreadySeen = new HashSet<>(); - } - alreadySeen.add(beanName); if (isDependent(transitiveDependency, dependentBeanName, alreadySeen)) { return true; }