@ -773,8 +773,6 @@ public abstract class AbstractAutowireCapableBeanFactory extends AbstractBeanFac
@@ -773,8 +773,6 @@ public abstract class AbstractAutowireCapableBeanFactory extends AbstractBeanFac
@ -782,24 +780,13 @@ public abstract class AbstractAutowireCapableBeanFactory extends AbstractBeanFac
@@ -782,24 +780,13 @@ public abstract class AbstractAutowireCapableBeanFactory extends AbstractBeanFac
if(factoryMethodName!=null){
// Try to obtain the FactoryBean's object type without instantiating it at all.
@ -817,9 +804,9 @@ public abstract class AbstractAutowireCapableBeanFactory extends AbstractBeanFac
@@ -817,9 +804,9 @@ public abstract class AbstractAutowireCapableBeanFactory extends AbstractBeanFac
if(fb!=null){
// Try to obtain the FactoryBean's object type from this early stage of the instance.
objectType.value=getTypeForFactoryBean(fb);
if(objectType.value!=null){
returnobjectType.value;
Class<?>result=getTypeForFactoryBean(fb);
if(result!=null){
returnresult;
}
else{
// No type found for shortcut FactoryBean instance:
@ -828,9 +815,52 @@ public abstract class AbstractAutowireCapableBeanFactory extends AbstractBeanFac
@@ -828,9 +815,52 @@ public abstract class AbstractAutowireCapableBeanFactory extends AbstractBeanFac
}
}
if(factoryBeanName==null&&mbd.hasBeanClass()){
// No early bean instantiation possible: determine FactoryBean's type from
// static factory method signature or from class inheritance hierarchy...
@ -2231,7 +2231,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
@@ -2231,7 +2231,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
@ -2243,6 +2243,20 @@ public class AutowiredAnnotationBeanPostProcessorTests {
@@ -2243,6 +2243,20 @@ public class AutowiredAnnotationBeanPostProcessorTests {
@ -3570,6 +3584,10 @@ public class AutowiredAnnotationBeanPostProcessorTests {
@@ -3570,6 +3584,10 @@ public class AutowiredAnnotationBeanPostProcessorTests {