@ -786,8 +786,6 @@ public abstract class AbstractAutowireCapableBeanFactory extends AbstractBeanFac
@@ -786,8 +786,6 @@ public abstract class AbstractAutowireCapableBeanFactory extends AbstractBeanFac
@ -795,24 +793,13 @@ public abstract class AbstractAutowireCapableBeanFactory extends AbstractBeanFac
@@ -795,24 +793,13 @@ public abstract class AbstractAutowireCapableBeanFactory extends AbstractBeanFac
if(factoryMethodName!=null){
// Try to obtain the FactoryBean's object type without instantiating it at all.
@ -830,9 +817,9 @@ public abstract class AbstractAutowireCapableBeanFactory extends AbstractBeanFac
@@ -830,9 +817,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:
@ -841,9 +828,52 @@ public abstract class AbstractAutowireCapableBeanFactory extends AbstractBeanFac
@@ -841,9 +828,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...
@ -2237,7 +2237,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
@@ -2237,7 +2237,7 @@ public class AutowiredAnnotationBeanPostProcessorTests {
@ -2249,6 +2249,20 @@ public class AutowiredAnnotationBeanPostProcessorTests {
@@ -2249,6 +2249,20 @@ public class AutowiredAnnotationBeanPostProcessorTests {
@ -3586,6 +3600,10 @@ public class AutowiredAnnotationBeanPostProcessorTests {
@@ -3586,6 +3600,10 @@ public class AutowiredAnnotationBeanPostProcessorTests {