Revert "Remove invalid check for String-based FactoryBean.OBJECT_TYPE_ATTRIBUTE"

This reverts commit 279f8221a5.

See gh-36659
This commit is contained in:
Andy Wilkinson
2023-08-01 17:57:34 +01:00
parent 75bb862255
commit d0d545468a
2 changed files with 14 additions and 1 deletions

View File

@@ -252,11 +252,12 @@ public class MockitoPostProcessor implements InstantiationAwareBeanPostProcessor
Set<String> beans = new LinkedHashSet<>(
Arrays.asList(beanFactory.getBeanNamesForType(resolvableType, true, false)));
Class<?> type = resolvableType.resolve(Object.class);
String typeName = type.getName();
for (String beanName : beanFactory.getBeanNamesForType(FactoryBean.class, true, false)) {
beanName = BeanFactoryUtils.transformedBeanName(beanName);
BeanDefinition beanDefinition = beanFactory.getBeanDefinition(beanName);
Object attribute = beanDefinition.getAttribute(FactoryBean.OBJECT_TYPE_ATTRIBUTE);
if (resolvableType.equals(attribute) || type.equals(attribute)) {
if (resolvableType.equals(attribute) || type.equals(attribute) || typeName.equals(attribute)) {
beans.add(beanName);
}
}