Browse Source

Merge branch '6.2.x'

# Conflicts:
#	spring-beans/src/main/java/org/springframework/beans/factory/support/StaticListableBeanFactory.java
#	spring-beans/src/test/java/org/springframework/beans/factory/BeanFactoryUtilsTests.java
pull/35109/head
Juergen Hoeller 6 months ago
parent
commit
02ff681c73
  1. 7
      spring-beans/src/main/java/org/springframework/beans/factory/support/StaticListableBeanFactory.java

7
spring-beans/src/main/java/org/springframework/beans/factory/support/StaticListableBeanFactory.java

@ -208,7 +208,6 @@ public class StaticListableBeanFactory implements ListableBeanFactory { @@ -208,7 +208,6 @@ public class StaticListableBeanFactory implements ListableBeanFactory {
public boolean isSingleton(String name) throws NoSuchBeanDefinitionException {
String beanName = BeanFactoryUtils.transformedBeanName(name);
Object bean = obtainBean(beanName);
// In case of FactoryBean, return singleton status of created object.
if (bean instanceof FactoryBean<?> factoryBean && !BeanFactoryUtils.isFactoryDereference(name)) {
return factoryBean.isSingleton();
}
@ -219,7 +218,6 @@ public class StaticListableBeanFactory implements ListableBeanFactory { @@ -219,7 +218,6 @@ public class StaticListableBeanFactory implements ListableBeanFactory {
public boolean isPrototype(String name) throws NoSuchBeanDefinitionException {
String beanName = BeanFactoryUtils.transformedBeanName(name);
Object bean = obtainBean(beanName);
// In case of FactoryBean, return prototype status of created object.
return (!BeanFactoryUtils.isFactoryDereference(name) &&
((bean instanceof SmartFactoryBean<?> smartFactoryBean && smartFactoryBean.isPrototype()) ||
(bean instanceof FactoryBean<?> factoryBean && !factoryBean.isSingleton())));
@ -263,7 +261,6 @@ public class StaticListableBeanFactory implements ListableBeanFactory { @@ -263,7 +261,6 @@ public class StaticListableBeanFactory implements ListableBeanFactory {
String beanName = BeanFactoryUtils.transformedBeanName(name);
Object bean = obtainBean(beanName);
if (bean instanceof FactoryBean<?> factoryBean && !BeanFactoryUtils.isFactoryDereference(name)) {
// If it's a FactoryBean, we want to look at what it creates, not the factory class.
return factoryBean.getObjectType();
}
return bean.getClass();
@ -417,9 +414,7 @@ public class StaticListableBeanFactory implements ListableBeanFactory { @@ -417,9 +414,7 @@ public class StaticListableBeanFactory implements ListableBeanFactory {
for (Map.Entry<String, Object> entry : this.beans.entrySet()) {
String beanName = entry.getKey();
Object beanInstance = entry.getValue();
// Is bean a FactoryBean?
if (beanInstance instanceof FactoryBean<?> factoryBean && !isFactoryType) {
// Match object created by FactoryBean.
if ((includeNonSingletons || factoryBean.isSingleton()) &&
(type == null || isTypeMatch(factoryBean, type))) {
matches.put(beanName, getBean(beanName, type));
@ -427,8 +422,6 @@ public class StaticListableBeanFactory implements ListableBeanFactory { @@ -427,8 +422,6 @@ public class StaticListableBeanFactory implements ListableBeanFactory {
}
else {
if (type == null || type.isInstance(beanInstance)) {
// If type to match is FactoryBean, return FactoryBean itself.
// Else, return bean instance.
if (isFactoryType) {
beanName = FACTORY_BEAN_PREFIX + beanName;
}

Loading…
Cancel
Save