From a7fe3098fb355743d55bf79354824485379b2c44 Mon Sep 17 00:00:00 2001 From: DingHao Date: Mon, 6 Jan 2025 10:49:27 +0800 Subject: [PATCH] Polish use getBeanProvider instead of getBeanNamesForType --- .../web/configurers/AbstractHttpConfigurer.java | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/config/src/main/java/org/springframework/security/config/annotation/web/configurers/AbstractHttpConfigurer.java b/config/src/main/java/org/springframework/security/config/annotation/web/configurers/AbstractHttpConfigurer.java index 841783c4f62..a7251514fda 100644 --- a/config/src/main/java/org/springframework/security/config/annotation/web/configurers/AbstractHttpConfigurer.java +++ b/config/src/main/java/org/springframework/security/config/annotation/web/configurers/AbstractHttpConfigurer.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2024 the original author or authors. + * Copyright 2002-2025 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. @@ -31,6 +31,7 @@ * {@link HttpSecurity}. * * @author Rob Winch + * @author Ding Hao */ public abstract class AbstractHttpConfigurer, B extends HttpSecurityBuilder> extends SecurityConfigurerAdapter { @@ -70,13 +71,8 @@ protected SecurityContextHolderStrategy getSecurityContextHolderStrategy() { return this.securityContextHolderStrategy; } ApplicationContext context = getBuilder().getSharedObject(ApplicationContext.class); - String[] names = context.getBeanNamesForType(SecurityContextHolderStrategy.class); - if (names.length == 1) { - this.securityContextHolderStrategy = context.getBean(SecurityContextHolderStrategy.class); - } - else { - this.securityContextHolderStrategy = SecurityContextHolder.getContextHolderStrategy(); - } + this.securityContextHolderStrategy = context.getBeanProvider(SecurityContextHolderStrategy.class) + .getIfUnique(SecurityContextHolder::getContextHolderStrategy); return this.securityContextHolderStrategy; }