@@ -208,7 +208,6 @@ public boolean containsBean(String name) {
208208 public boolean isSingleton (String name ) throws NoSuchBeanDefinitionException {
209209 String beanName = BeanFactoryUtils .transformedBeanName (name );
210210 Object bean = obtainBean (beanName );
211- // In case of FactoryBean, return singleton status of created object.
212211 if (bean instanceof FactoryBean <?> factoryBean && !BeanFactoryUtils .isFactoryDereference (name )) {
213212 return factoryBean .isSingleton ();
214213 }
@@ -219,7 +218,6 @@ public boolean isSingleton(String name) throws NoSuchBeanDefinitionException {
219218 public boolean isPrototype (String name ) throws NoSuchBeanDefinitionException {
220219 String beanName = BeanFactoryUtils .transformedBeanName (name );
221220 Object bean = obtainBean (beanName );
222- // In case of FactoryBean, return prototype status of created object.
223221 return (!BeanFactoryUtils .isFactoryDereference (name ) &&
224222 ((bean instanceof SmartFactoryBean <?> smartFactoryBean && smartFactoryBean .isPrototype ()) ||
225223 (bean instanceof FactoryBean <?> factoryBean && !factoryBean .isSingleton ())));
@@ -263,7 +261,6 @@ private boolean isTypeMatch(FactoryBean<?> factoryBean, Class<?> typeToMatch) th
263261 String beanName = BeanFactoryUtils .transformedBeanName (name );
264262 Object bean = obtainBean (beanName );
265263 if (bean instanceof FactoryBean <?> factoryBean && !BeanFactoryUtils .isFactoryDereference (name )) {
266- // If it's a FactoryBean, we want to look at what it creates, not the factory class.
267264 return factoryBean .getObjectType ();
268265 }
269266 return bean .getClass ();
@@ -417,18 +414,14 @@ public <T> Map<String, T> getBeansOfType(@Nullable Class<T> type, boolean includ
417414 for (Map .Entry <String , Object > entry : this .beans .entrySet ()) {
418415 String beanName = entry .getKey ();
419416 Object beanInstance = entry .getValue ();
420- // Is bean a FactoryBean?
421417 if (beanInstance instanceof FactoryBean <?> factoryBean && !isFactoryType ) {
422- // Match object created by FactoryBean.
423418 if ((includeNonSingletons || factoryBean .isSingleton ()) &&
424419 (type == null || isTypeMatch (factoryBean , type ))) {
425420 matches .put (beanName , getBean (beanName , type ));
426421 }
427422 }
428423 else {
429424 if (type == null || type .isInstance (beanInstance )) {
430- // If type to match is FactoryBean, return FactoryBean itself.
431- // Else, return bean instance.
432425 if (isFactoryType ) {
433426 beanName = FACTORY_BEAN_PREFIX + beanName ;
434427 }
0 commit comments