From bb45a3ae69c8068b72ce939e16df46c7dc8bb1cd Mon Sep 17 00:00:00 2001 From: lituizi <2811328244@qq.com> Date: Sun, 13 Apr 2025 11:34:20 +0800 Subject: [PATCH 1/2] Update AbstractAutowireCapableBeanFactory.ignoreDependencyInterface() Javadoc Specifically, the documentation update reflects that: - Initially, it was mentioned that only the `BeanFactoryAware` interface is ignored by default. - The updated documentation now correctly states that `BeanNameAware`, `BeanFactoryAware`, and `BeanClassLoaderAware` interfaces are all ignored by default. This change ensures a more accurate representation of the default behavior regarding which dependency interfaces are automatically ignored during autowiring in the context of Spring's bean factory mechanism. Closes gh-34747 Signed-off-by: lituizi <2811328244@qq.com> --- .../factory/support/AbstractAutowireCapableBeanFactory.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory.java b/spring-beans/src/main/java/org/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory.java index 131c0313cfd..2442e98338b 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory.java @@ -287,7 +287,7 @@ public abstract class AbstractAutowireCapableBeanFactory extends AbstractBeanFac *
This will typically be used by application contexts to register * dependencies that are resolved in other ways, like BeanFactory through * BeanFactoryAware or ApplicationContext through ApplicationContextAware. - *
By default, only the BeanFactoryAware interface is ignored. + *
By default, the BeanNameAware,BeanFactoryAware,BeanClassLoaderAware interface are ignored.
* For further types to ignore, invoke this method for each type.
* @see org.springframework.beans.factory.BeanFactoryAware
* @see org.springframework.context.ApplicationContextAware
From d0966dfb58056d2e955b555d38993bf65dac41e7 Mon Sep 17 00:00:00 2001
From: Sam Brannen <104798+sbrannen@users.noreply.github.com>
Date: Mon, 14 Apr 2025 14:15:33 +0200
Subject: [PATCH 2/2] Revise contribution
See gh-34747
---
.../AbstractAutowireCapableBeanFactory.java | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory.java b/spring-beans/src/main/java/org/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory.java
index 2442e98338b..a46a36c66d3 100644
--- a/spring-beans/src/main/java/org/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory.java
+++ b/spring-beans/src/main/java/org/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory.java
@@ -144,8 +144,10 @@ public abstract class AbstractAutowireCapableBeanFactory extends AbstractBeanFac
private final Set By default, the {@code BeanNameAware}, {@code BeanFactoryAware}, and
+ * {@code BeanClassLoaderAware} interfaces are ignored.
*/
private final Set This will typically be used by application contexts to register
- * dependencies that are resolved in other ways, like BeanFactory through
- * BeanFactoryAware or ApplicationContext through ApplicationContextAware.
- * By default, the BeanNameAware,BeanFactoryAware,BeanClassLoaderAware interface are ignored.
+ * dependencies that are resolved in other ways, like {@code BeanFactory}
+ * through {@code BeanFactoryAware} or {@code ApplicationContext} through
+ * {@code ApplicationContextAware}.
+ * By default, the {@code BeanNameAware}, {@code BeanFactoryAware}, and
+ * {@code BeanClassLoaderAware} interfaces are ignored.
* For further types to ignore, invoke this method for each type.
+ * @see org.springframework.beans.factory.BeanNameAware
* @see org.springframework.beans.factory.BeanFactoryAware
+ * @see org.springframework.beans.factory.BeanClassLoaderAware
* @see org.springframework.context.ApplicationContextAware
*/
public void ignoreDependencyInterface(Class> ifc) {