public abstract class org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory extends org.springframework.beans.factory.support.AbstractBeanFactory implements org.springframework.beans.factory.config.AutowireCapableBeanFactory
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory
super_class: org.springframework.beans.factory.support.AbstractBeanFactory
{
private org.springframework.beans.factory.support.InstantiationStrategy instantiationStrategy;
descriptor: Lorg/springframework/beans/factory/support/InstantiationStrategy;
flags: (0x0002) ACC_PRIVATE
private org.springframework.core.ParameterNameDiscoverer parameterNameDiscoverer;
descriptor: Lorg/springframework/core/ParameterNameDiscoverer;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private boolean allowCircularReferences;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean allowRawInjectionDespiteWrapping;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final java.util.Set<java.lang.Class<?>> ignoredDependencyTypes;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/Class<*>;>;
private final java.util.Set<java.lang.Class<?>> ignoredDependencyInterfaces;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/Class<*>;>;
private final org.springframework.core.NamedThreadLocal<java.lang.String> currentlyCreatedBean;
descriptor: Lorg/springframework/core/NamedThreadLocal;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/springframework/core/NamedThreadLocal<Ljava/lang/String;>;
private final java.util.concurrent.ConcurrentMap<java.lang.String, org.springframework.beans.BeanWrapper> factoryBeanInstanceCache;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/String;Lorg/springframework/beans/BeanWrapper;>;
private final java.util.concurrent.ConcurrentMap<java.lang.Class<?>, java.lang.reflect.Method[]> factoryMethodCandidateCache;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/Class<*>;[Ljava/lang/reflect/Method;>;
private final java.util.concurrent.ConcurrentMap<java.lang.Class<?>, java.beans.PropertyDescriptor[]> filteredPropertyDescriptorsCache;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/Class<*>;[Ljava/beans/PropertyDescriptor;>;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.springframework.beans.factory.support.AbstractBeanFactory.<init>:()V
1: aload 0
new org.springframework.beans.factory.support.CglibSubclassingInstantiationStrategy
dup
invokespecial org.springframework.beans.factory.support.CglibSubclassingInstantiationStrategy.<init>:()V
putfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiationStrategy:Lorg/springframework/beans/factory/support/InstantiationStrategy;
2: aload 0
new org.springframework.core.DefaultParameterNameDiscoverer
dup
invokespecial org.springframework.core.DefaultParameterNameDiscoverer.<init>:()V
putfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.parameterNameDiscoverer:Lorg/springframework/core/ParameterNameDiscoverer;
3: aload 0
iconst_1
putfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.allowCircularReferences:Z
4: aload 0
iconst_0
putfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.allowRawInjectionDespiteWrapping:Z
5: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.ignoredDependencyTypes:Ljava/util/Set;
6: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.ignoredDependencyInterfaces:Ljava/util/Set;
7: aload 0
new org.springframework.core.NamedThreadLocal
dup
ldc "Currently created bean"
invokespecial org.springframework.core.NamedThreadLocal.<init>:(Ljava/lang/String;)V
putfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.currentlyCreatedBean:Lorg/springframework/core/NamedThreadLocal;
8: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.factoryBeanInstanceCache:Ljava/util/concurrent/ConcurrentMap;
9: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.factoryMethodCandidateCache:Ljava/util/concurrent/ConcurrentMap;
10: aload 0
11: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.filteredPropertyDescriptorsCache:Ljava/util/concurrent/ConcurrentMap;
12: aload 0
ldc Lorg/springframework/beans/factory/BeanNameAware;
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.ignoreDependencyInterface:(Ljava/lang/Class;)V
13: aload 0
ldc Lorg/springframework/beans/factory/BeanFactoryAware;
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.ignoreDependencyInterface:(Ljava/lang/Class;)V
14: aload 0
ldc Lorg/springframework/beans/factory/BeanClassLoaderAware;
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.ignoreDependencyInterface:(Ljava/lang/Class;)V
15: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
public void <init>(org.springframework.beans.factory.BeanFactory);
descriptor: (Lorg/springframework/beans/factory/BeanFactory;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.<init>:()V
1: aload 0
aload 1
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.setParentBeanFactory:(Lorg/springframework/beans/factory/BeanFactory;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 3 1 parentBeanFactory Lorg/springframework/beans/factory/BeanFactory;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
parentBeanFactory
public void setInstantiationStrategy(org.springframework.beans.factory.support.InstantiationStrategy);
descriptor: (Lorg/springframework/beans/factory/support/InstantiationStrategy;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiationStrategy:Lorg/springframework/beans/factory/support/InstantiationStrategy;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 2 1 instantiationStrategy Lorg/springframework/beans/factory/support/InstantiationStrategy;
MethodParameters:
Name Flags
instantiationStrategy
protected org.springframework.beans.factory.support.InstantiationStrategy getInstantiationStrategy();
descriptor: ()Lorg/springframework/beans/factory/support/InstantiationStrategy;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiationStrategy:Lorg/springframework/beans/factory/support/InstantiationStrategy;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
public void setParameterNameDiscoverer(org.springframework.core.ParameterNameDiscoverer);
descriptor: (Lorg/springframework/core/ParameterNameDiscoverer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.parameterNameDiscoverer:Lorg/springframework/core/ParameterNameDiscoverer;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 2 1 parameterNameDiscoverer Lorg/springframework/core/ParameterNameDiscoverer;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
parameterNameDiscoverer
protected org.springframework.core.ParameterNameDiscoverer getParameterNameDiscoverer();
descriptor: ()Lorg/springframework/core/ParameterNameDiscoverer;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.parameterNameDiscoverer:Lorg/springframework/core/ParameterNameDiscoverer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
public void setAllowCircularReferences(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.allowCircularReferences:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 2 1 allowCircularReferences Z
MethodParameters:
Name Flags
allowCircularReferences
public void setAllowRawInjectionDespiteWrapping(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.allowRawInjectionDespiteWrapping:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 2 1 allowRawInjectionDespiteWrapping Z
MethodParameters:
Name Flags
allowRawInjectionDespiteWrapping
public void ignoreDependencyType(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.ignoredDependencyTypes:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 2 1 type Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
type
public void ignoreDependencyInterface(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.ignoredDependencyInterfaces:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 2 1 ifc Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
ifc
public void copyConfigurationFrom(org.springframework.beans.factory.config.ConfigurableBeanFactory);
descriptor: (Lorg/springframework/beans/factory/config/ConfigurableBeanFactory;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.springframework.beans.factory.support.AbstractBeanFactory.copyConfigurationFrom:(Lorg/springframework/beans/factory/config/ConfigurableBeanFactory;)V
1: aload 1
instanceof org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory
ifeq 8
2: aload 1
checkcast org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory
3: astore 2
start local 2 4: aload 0
aload 2
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiationStrategy:Lorg/springframework/beans/factory/support/InstantiationStrategy;
putfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiationStrategy:Lorg/springframework/beans/factory/support/InstantiationStrategy;
5: aload 0
aload 2
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.allowCircularReferences:Z
putfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.allowCircularReferences:Z
6: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.ignoredDependencyTypes:Ljava/util/Set;
aload 2
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.ignoredDependencyTypes:Ljava/util/Set;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
7: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.ignoredDependencyInterfaces:Ljava/util/Set;
aload 2
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.ignoredDependencyInterfaces:Ljava/util/Set;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
end local 2 8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 9 1 otherFactory Lorg/springframework/beans/factory/config/ConfigurableBeanFactory;
4 8 2 otherAutowireFactory Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
MethodParameters:
Name Flags
otherFactory
public <T> T createBean(java.lang.Class<T>);
descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: new org.springframework.beans.factory.support.RootBeanDefinition
dup
aload 1
invokespecial org.springframework.beans.factory.support.RootBeanDefinition.<init>:(Ljava/lang/Class;)V
astore 2
start local 2 1: aload 2
ldc "prototype"
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.setScope:(Ljava/lang/String;)V
2: aload 2
aload 1
aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getBeanClassLoader:()Ljava/lang/ClassLoader;
invokestatic org.springframework.util.ClassUtils.isCacheSafe:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Z
putfield org.springframework.beans.factory.support.RootBeanDefinition.allowCaching:Z
3: aload 0
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aload 2
aconst_null
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean:(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 4 1 beanClass Ljava/lang/Class<TT;>;
1 4 2 bd Lorg/springframework/beans/factory/support/RootBeanDefinition;
Exceptions:
throws org.springframework.beans.BeansException
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)TT;
MethodParameters:
Name Flags
beanClass
public void autowireBean(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: new org.springframework.beans.factory.support.RootBeanDefinition
dup
aload 1
invokestatic org.springframework.util.ClassUtils.getUserClass:(Ljava/lang/Object;)Ljava/lang/Class;
invokespecial org.springframework.beans.factory.support.RootBeanDefinition.<init>:(Ljava/lang/Class;)V
astore 2
start local 2 1: aload 2
ldc "prototype"
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.setScope:(Ljava/lang/String;)V
2: aload 2
aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getBeanClass:()Ljava/lang/Class;
aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getBeanClassLoader:()Ljava/lang/ClassLoader;
invokestatic org.springframework.util.ClassUtils.isCacheSafe:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Z
putfield org.springframework.beans.factory.support.RootBeanDefinition.allowCaching:Z
3: new org.springframework.beans.BeanWrapperImpl
dup
aload 1
invokespecial org.springframework.beans.BeanWrapperImpl.<init>:(Ljava/lang/Object;)V
astore 3
start local 3 4: aload 0
aload 3
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initBeanWrapper:(Lorg/springframework/beans/BeanWrapper;)V
5: aload 0
aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getBeanClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aload 2
aload 3
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean:(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;Lorg/springframework/beans/BeanWrapper;)V
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 7 1 existingBean Ljava/lang/Object;
1 7 2 bd Lorg/springframework/beans/factory/support/RootBeanDefinition;
4 7 3 bw Lorg/springframework/beans/BeanWrapper;
MethodParameters:
Name Flags
existingBean
public java.lang.Object configureBean(java.lang.Object, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.markBeanAsCreated:(Ljava/lang/String;)V
1: aload 0
aload 2
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getMergedBeanDefinition:(Ljava/lang/String;)Lorg/springframework/beans/factory/config/BeanDefinition;
astore 3
start local 3 2: aconst_null
astore 4
start local 4 3: aload 3
instanceof org.springframework.beans.factory.support.RootBeanDefinition
ifeq 8
4: aload 3
checkcast org.springframework.beans.factory.support.RootBeanDefinition
astore 5
start local 5 5: aload 5
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.isPrototype:()Z
ifeq 6
aload 5
goto 7
StackMap locals: org.springframework.beans.factory.config.BeanDefinition org.springframework.beans.factory.support.RootBeanDefinition org.springframework.beans.factory.support.RootBeanDefinition
StackMap stack:
6: aload 5
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.cloneBeanDefinition:()Lorg/springframework/beans/factory/support/RootBeanDefinition;
StackMap locals:
StackMap stack: org.springframework.beans.factory.support.RootBeanDefinition
7: astore 4
end local 5 8: StackMap locals:
StackMap stack:
aload 4
ifnonnull 10
9: new org.springframework.beans.factory.support.RootBeanDefinition
dup
aload 3
invokespecial org.springframework.beans.factory.support.RootBeanDefinition.<init>:(Lorg/springframework/beans/factory/config/BeanDefinition;)V
astore 4
10: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.isPrototype:()Z
ifne 13
11: aload 4
ldc "prototype"
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.setScope:(Ljava/lang/String;)V
12: aload 4
aload 1
invokestatic org.springframework.util.ClassUtils.getUserClass:(Ljava/lang/Object;)Ljava/lang/Class;
aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getBeanClassLoader:()Ljava/lang/ClassLoader;
invokestatic org.springframework.util.ClassUtils.isCacheSafe:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Z
putfield org.springframework.beans.factory.support.RootBeanDefinition.allowCaching:Z
13: StackMap locals:
StackMap stack:
new org.springframework.beans.BeanWrapperImpl
dup
aload 1
invokespecial org.springframework.beans.BeanWrapperImpl.<init>:(Ljava/lang/Object;)V
astore 5
start local 5 14: aload 0
aload 5
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initBeanWrapper:(Lorg/springframework/beans/BeanWrapper;)V
15: aload 0
aload 2
aload 4
aload 5
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean:(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;Lorg/springframework/beans/BeanWrapper;)V
16: aload 0
aload 2
aload 1
aload 4
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean:(Ljava/lang/String;Ljava/lang/Object;Lorg/springframework/beans/factory/support/RootBeanDefinition;)Ljava/lang/Object;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 17 1 existingBean Ljava/lang/Object;
0 17 2 beanName Ljava/lang/String;
2 17 3 mbd Lorg/springframework/beans/factory/config/BeanDefinition;
3 17 4 bd Lorg/springframework/beans/factory/support/RootBeanDefinition;
5 8 5 rbd Lorg/springframework/beans/factory/support/RootBeanDefinition;
14 17 5 bw Lorg/springframework/beans/BeanWrapper;
Exceptions:
throws org.springframework.beans.BeansException
MethodParameters:
Name Flags
existingBean
beanName
public createBean(java.lang.Class<?>, int, boolean);
descriptor: (Ljava/lang/Class;IZ)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new org.springframework.beans.factory.support.RootBeanDefinition
dup
aload 1
iload 2
iload 3
invokespecial org.springframework.beans.factory.support.RootBeanDefinition.<init>:(Ljava/lang/Class;IZ)V
astore 4
start local 4 1: aload 4
ldc "prototype"
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.setScope:(Ljava/lang/String;)V
2: aload 0
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aload 4
aconst_null
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean:(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 3 1 beanClass Ljava/lang/Class<*>;
0 3 2 autowireMode I
0 3 3 dependencyCheck Z
1 3 4 bd Lorg/springframework/beans/factory/support/RootBeanDefinition;
Exceptions:
throws org.springframework.beans.BeansException
Signature: (Ljava/lang/Class<*>;IZ)Ljava/lang/Object;
MethodParameters:
Name Flags
beanClass
autowireMode
dependencyCheck
public autowire(java.lang.Class<?>, int, boolean);
descriptor: (Ljava/lang/Class;IZ)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new org.springframework.beans.factory.support.RootBeanDefinition
dup
aload 1
iload 2
iload 3
invokespecial org.springframework.beans.factory.support.RootBeanDefinition.<init>:(Ljava/lang/Class;IZ)V
astore 4
start local 4 1: aload 4
ldc "prototype"
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.setScope:(Ljava/lang/String;)V
2: aload 4
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getResolvedAutowireMode:()I
iconst_3
if_icmpne 4
3: aload 0
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aload 4
aconst_null
aconst_null
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor:(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;[Ljava/lang/reflect/Constructor;[Ljava/lang/Object;)Lorg/springframework/beans/BeanWrapper;
invokeinterface org.springframework.beans.BeanWrapper.getWrappedInstance:()Ljava/lang/Object;
areturn
4: StackMap locals: org.springframework.beans.factory.support.RootBeanDefinition
StackMap stack:
aload 0
astore 6
start local 6 5: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnull 10
6: aload 0
aload 4
aload 6
invokedynamic run(Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;Lorg/springframework/beans/factory/support/RootBeanDefinition;Lorg/springframework/beans/factory/BeanFactory;)Ljava/security/PrivilegedAction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
org/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory.lambda$0(Lorg/springframework/beans/factory/support/RootBeanDefinition;Lorg/springframework/beans/factory/BeanFactory;)Ljava/lang/Object; (7)
()Ljava/lang/Object;
7: aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getAccessControlContext:()Ljava/security/AccessControlContext;
8: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
astore 5
start local 5 9: goto 11
end local 5 10: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.Class int int org.springframework.beans.factory.support.RootBeanDefinition top org.springframework.beans.factory.BeanFactory
StackMap stack:
aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getInstantiationStrategy:()Lorg/springframework/beans/factory/support/InstantiationStrategy;
aload 4
aconst_null
aload 6
invokeinterface org.springframework.beans.factory.support.InstantiationStrategy.instantiate:(Lorg/springframework/beans/factory/support/RootBeanDefinition;Ljava/lang/String;Lorg/springframework/beans/factory/BeanFactory;)Ljava/lang/Object;
astore 5
start local 5 11: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.Class int int org.springframework.beans.factory.support.RootBeanDefinition java.lang.Object org.springframework.beans.factory.BeanFactory
StackMap stack:
aload 0
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aload 4
new org.springframework.beans.BeanWrapperImpl
dup
aload 5
invokespecial org.springframework.beans.BeanWrapperImpl.<init>:(Ljava/lang/Object;)V
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean:(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;Lorg/springframework/beans/BeanWrapper;)V
12: aload 5
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 13 1 beanClass Ljava/lang/Class<*>;
0 13 2 autowireMode I
0 13 3 dependencyCheck Z
1 13 4 bd Lorg/springframework/beans/factory/support/RootBeanDefinition;
9 10 5 bean Ljava/lang/Object;
11 13 5 bean Ljava/lang/Object;
5 13 6 parent Lorg/springframework/beans/factory/BeanFactory;
Exceptions:
throws org.springframework.beans.BeansException
Signature: (Ljava/lang/Class<*>;IZ)Ljava/lang/Object;
MethodParameters:
Name Flags
beanClass
autowireMode
dependencyCheck
public void autowireBeanProperties(java.lang.Object, int, boolean);
descriptor: (Ljava/lang/Object;IZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
iconst_3
if_icmpne 2
1: new java.lang.IllegalArgumentException
dup
ldc "AUTOWIRE_CONSTRUCTOR not supported for existing bean instance"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
new org.springframework.beans.factory.support.RootBeanDefinition
dup
aload 1
invokestatic org.springframework.util.ClassUtils.getUserClass:(Ljava/lang/Object;)Ljava/lang/Class;
iload 2
iload 3
invokespecial org.springframework.beans.factory.support.RootBeanDefinition.<init>:(Ljava/lang/Class;IZ)V
3: astore 4
start local 4 4: aload 4
ldc "prototype"
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.setScope:(Ljava/lang/String;)V
5: new org.springframework.beans.BeanWrapperImpl
dup
aload 1
invokespecial org.springframework.beans.BeanWrapperImpl.<init>:(Ljava/lang/Object;)V
astore 5
start local 5 6: aload 0
aload 5
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initBeanWrapper:(Lorg/springframework/beans/BeanWrapper;)V
7: aload 0
aload 4
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getBeanClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aload 4
aload 5
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean:(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;Lorg/springframework/beans/BeanWrapper;)V
8: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 9 1 existingBean Ljava/lang/Object;
0 9 2 autowireMode I
0 9 3 dependencyCheck Z
4 9 4 bd Lorg/springframework/beans/factory/support/RootBeanDefinition;
6 9 5 bw Lorg/springframework/beans/BeanWrapper;
Exceptions:
throws org.springframework.beans.BeansException
MethodParameters:
Name Flags
existingBean
autowireMode
dependencyCheck
public void applyBeanPropertyValues(java.lang.Object, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.markBeanAsCreated:(Ljava/lang/String;)V
1: aload 0
aload 2
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getMergedBeanDefinition:(Ljava/lang/String;)Lorg/springframework/beans/factory/config/BeanDefinition;
astore 3
start local 3 2: new org.springframework.beans.BeanWrapperImpl
dup
aload 1
invokespecial org.springframework.beans.BeanWrapperImpl.<init>:(Ljava/lang/Object;)V
astore 4
start local 4 3: aload 0
aload 4
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initBeanWrapper:(Lorg/springframework/beans/BeanWrapper;)V
4: aload 0
aload 2
aload 3
aload 4
aload 3
invokeinterface org.springframework.beans.factory.config.BeanDefinition.getPropertyValues:()Lorg/springframework/beans/MutablePropertyValues;
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues:(Ljava/lang/String;Lorg/springframework/beans/factory/config/BeanDefinition;Lorg/springframework/beans/BeanWrapper;Lorg/springframework/beans/PropertyValues;)V
5: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 6 1 existingBean Ljava/lang/Object;
0 6 2 beanName Ljava/lang/String;
2 6 3 bd Lorg/springframework/beans/factory/config/BeanDefinition;
3 6 4 bw Lorg/springframework/beans/BeanWrapper;
Exceptions:
throws org.springframework.beans.BeansException
MethodParameters:
Name Flags
existingBean
beanName
public java.lang.Object initializeBean(java.lang.Object, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
aload 1
aconst_null
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean:(Ljava/lang/String;Ljava/lang/Object;Lorg/springframework/beans/factory/support/RootBeanDefinition;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 1 1 existingBean Ljava/lang/Object;
0 1 2 beanName Ljava/lang/String;
MethodParameters:
Name Flags
existingBean
beanName
public java.lang.Object applyBeanPostProcessorsBeforeInitialization(java.lang.Object, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
astore 3
start local 3 1: aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getBeanPostProcessors:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 7
StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.Object java.lang.String java.lang.Object top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.springframework.beans.factory.config.BeanPostProcessor
astore 4
start local 4 3: aload 4
aload 3
aload 2
invokeinterface org.springframework.beans.factory.config.BeanPostProcessor.postProcessBeforeInitialization:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
astore 6
start local 6 4: aload 6
ifnonnull 6
5: aload 3
areturn
6: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.Object java.lang.String java.lang.Object org.springframework.beans.factory.config.BeanPostProcessor java.util.Iterator java.lang.Object
StackMap stack:
aload 6
astore 3
end local 6 end local 4 7: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.Object java.lang.String java.lang.Object top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
8: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 9 1 existingBean Ljava/lang/Object;
0 9 2 beanName Ljava/lang/String;
1 9 3 result Ljava/lang/Object;
3 7 4 processor Lorg/springframework/beans/factory/config/BeanPostProcessor;
4 7 6 current Ljava/lang/Object;
Exceptions:
throws org.springframework.beans.BeansException
MethodParameters:
Name Flags
existingBean
beanName
public java.lang.Object applyBeanPostProcessorsAfterInitialization(java.lang.Object, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
astore 3
start local 3 1: aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getBeanPostProcessors:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 7
StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.Object java.lang.String java.lang.Object top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.springframework.beans.factory.config.BeanPostProcessor
astore 4
start local 4 3: aload 4
aload 3
aload 2
invokeinterface org.springframework.beans.factory.config.BeanPostProcessor.postProcessAfterInitialization:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
astore 6
start local 6 4: aload 6
ifnonnull 6
5: aload 3
areturn
6: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.Object java.lang.String java.lang.Object org.springframework.beans.factory.config.BeanPostProcessor java.util.Iterator java.lang.Object
StackMap stack:
aload 6
astore 3
end local 6 end local 4 7: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.Object java.lang.String java.lang.Object top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
8: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 9 1 existingBean Ljava/lang/Object;
0 9 2 beanName Ljava/lang/String;
1 9 3 result Ljava/lang/Object;
3 7 4 processor Lorg/springframework/beans/factory/config/BeanPostProcessor;
4 7 6 current Ljava/lang/Object;
Exceptions:
throws org.springframework.beans.BeansException
MethodParameters:
Name Flags
existingBean
beanName
public void destroyBean(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new org.springframework.beans.factory.support.DisposableBeanAdapter
dup
aload 1
aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getBeanPostProcessors:()Ljava/util/List;
aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getAccessControlContext:()Ljava/security/AccessControlContext;
invokespecial org.springframework.beans.factory.support.DisposableBeanAdapter.<init>:(Ljava/lang/Object;Ljava/util/List;Ljava/security/AccessControlContext;)V
invokevirtual org.springframework.beans.factory.support.DisposableBeanAdapter.destroy:()V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 2 1 existingBean Ljava/lang/Object;
MethodParameters:
Name Flags
existingBean
public java.lang.Object resolveBeanByName(java.lang.String, org.springframework.beans.factory.config.DependencyDescriptor);
descriptor: (Ljava/lang/String;Lorg/springframework/beans/factory/config/DependencyDescriptor;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic org.springframework.beans.factory.support.ConstructorResolver.setCurrentInjectionPoint:(Lorg/springframework/beans/factory/InjectionPoint;)Lorg/springframework/beans/factory/InjectionPoint;
astore 3
start local 3 1: aload 0
aload 1
aload 2
invokevirtual org.springframework.beans.factory.config.DependencyDescriptor.getDependencyType:()Ljava/lang/Class;
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getBean:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
astore 5
2: aload 3
invokestatic org.springframework.beans.factory.support.ConstructorResolver.setCurrentInjectionPoint:(Lorg/springframework/beans/factory/InjectionPoint;)Lorg/springframework/beans/factory/InjectionPoint;
pop
3: aload 5
areturn
4: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.config.DependencyDescriptor org.springframework.beans.factory.InjectionPoint
StackMap stack: java.lang.Throwable
astore 4
5: aload 3
invokestatic org.springframework.beans.factory.support.ConstructorResolver.setCurrentInjectionPoint:(Lorg/springframework/beans/factory/InjectionPoint;)Lorg/springframework/beans/factory/InjectionPoint;
pop
6: aload 4
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 7 1 name Ljava/lang/String;
0 7 2 descriptor Lorg/springframework/beans/factory/config/DependencyDescriptor;
1 7 3 previousInjectionPoint Lorg/springframework/beans/factory/InjectionPoint;
Exception table:
from to target type
1 2 4 any
MethodParameters:
Name Flags
name
descriptor
public java.lang.Object resolveDependency(org.springframework.beans.factory.config.DependencyDescriptor, java.lang.String);
descriptor: (Lorg/springframework/beans/factory/config/DependencyDescriptor;Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aconst_null
aconst_null
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveDependency:(Lorg/springframework/beans/factory/config/DependencyDescriptor;Ljava/lang/String;Ljava/util/Set;Lorg/springframework/beans/TypeConverter;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 1 1 descriptor Lorg/springframework/beans/factory/config/DependencyDescriptor;
0 1 2 requestingBeanName Ljava/lang/String;
Exceptions:
throws org.springframework.beans.BeansException
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
descriptor
requestingBeanName
protected java.lang.Object createBean(java.lang.String, org.springframework.beans.factory.support.RootBeanDefinition, java.lang.Object[]);
descriptor: (Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 2
1: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Creating instance of bean '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 2
astore 4
start local 4 3: aload 0
aload 2
aload 1
iconst_0
anewarray java.lang.Class
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveBeanClass:(Lorg/springframework/beans/factory/support/RootBeanDefinition;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/Class;
astore 5
start local 5 4: aload 5
ifnull 7
aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.hasBeanClass:()Z
ifne 7
aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getBeanClassName:()Ljava/lang/String;
ifnull 7
5: new org.springframework.beans.factory.support.RootBeanDefinition
dup
aload 2
invokespecial org.springframework.beans.factory.support.RootBeanDefinition.<init>:(Lorg/springframework/beans/factory/support/RootBeanDefinition;)V
astore 4
6: aload 4
aload 5
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.setBeanClass:(Ljava/lang/Class;)V
7: StackMap locals: org.springframework.beans.factory.support.RootBeanDefinition java.lang.Class
StackMap stack:
aload 4
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.prepareMethodOverrides:()V
8: goto 13
9: StackMap locals:
StackMap stack: org.springframework.beans.factory.support.BeanDefinitionValidationException
astore 6
start local 6 10: new org.springframework.beans.factory.BeanDefinitionStoreException
dup
aload 4
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getResourceDescription:()Ljava/lang/String;
11: aload 1
ldc "Validation of method overrides failed"
aload 6
12: invokespecial org.springframework.beans.factory.BeanDefinitionStoreException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 13: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 4
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveBeforeInstantiation:(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;)Ljava/lang/Object;
astore 6
start local 6 14: aload 6
ifnull 21
15: aload 6
16: areturn
end local 6 17: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
start local 6 18: new org.springframework.beans.factory.BeanCreationException
dup
aload 4
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getResourceDescription:()Ljava/lang/String;
aload 1
19: ldc "BeanPostProcessor before instantiation of bean failed"
aload 6
20: invokespecial org.springframework.beans.factory.BeanCreationException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 21: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 4
aload 3
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean:(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;[Ljava/lang/Object;)Ljava/lang/Object;
astore 6
start local 6 22: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 24
23: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Finished creating instance of bean '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
24: StackMap locals: java.lang.Object
StackMap stack:
aload 6
25: areturn
end local 6 26: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.RootBeanDefinition java.lang.Object[] org.springframework.beans.factory.support.RootBeanDefinition java.lang.Class
StackMap stack: java.lang.RuntimeException
astore 6
start local 6 27: aload 6
athrow
end local 6 28: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
start local 6 29: new org.springframework.beans.factory.BeanCreationException
dup
30: aload 4
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getResourceDescription:()Ljava/lang/String;
aload 1
ldc "Unexpected exception during bean creation"
aload 6
31: invokespecial org.springframework.beans.factory.BeanCreationException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 32 1 beanName Ljava/lang/String;
0 32 2 mbd Lorg/springframework/beans/factory/support/RootBeanDefinition;
0 32 3 args [Ljava/lang/Object;
3 32 4 mbdToUse Lorg/springframework/beans/factory/support/RootBeanDefinition;
4 32 5 resolvedClass Ljava/lang/Class<*>;
10 13 6 ex Lorg/springframework/beans/factory/support/BeanDefinitionValidationException;
14 17 6 bean Ljava/lang/Object;
18 21 6 ex Ljava/lang/Throwable;
22 26 6 beanInstance Ljava/lang/Object;
27 28 6 ex Ljava/lang/RuntimeException;
29 32 6 ex Ljava/lang/Throwable;
Exception table:
from to target type
7 8 9 Class org.springframework.beans.factory.support.BeanDefinitionValidationException
13 16 17 Class java.lang.Throwable
21 25 26 Class org.springframework.beans.factory.BeanCreationException
21 25 26 Class org.springframework.beans.factory.support.ImplicitlyAppearedSingletonException
21 25 28 Class java.lang.Throwable
Exceptions:
throws org.springframework.beans.factory.BeanCreationException
RuntimeVisibleParameterAnnotations:
0:
1:
2:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
beanName
mbd
args
protected java.lang.Object doCreateBean(java.lang.String, org.springframework.beans.factory.support.RootBeanDefinition, java.lang.Object[]);
descriptor: (Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=16, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.isSingleton:()Z
ifeq 3
2: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.factoryBeanInstanceCache:Ljava/util/concurrent/ConcurrentMap;
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.springframework.beans.BeanWrapper
astore 4
3: StackMap locals: org.springframework.beans.BeanWrapper
StackMap stack:
aload 4
ifnonnull 5
4: aload 0
aload 1
aload 2
aload 3
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance:(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;[Ljava/lang/Object;)Lorg/springframework/beans/BeanWrapper;
astore 4
5: StackMap locals:
StackMap stack:
aload 4
invokeinterface org.springframework.beans.BeanWrapper.getWrappedInstance:()Ljava/lang/Object;
astore 5
start local 5 6: aload 4
invokeinterface org.springframework.beans.BeanWrapper.getWrappedClass:()Ljava/lang/Class;
astore 6
start local 6 7: aload 6
ldc Lorg/springframework/beans/factory/support/NullBean;
if_acmpeq 9
8: aload 2
aload 6
putfield org.springframework.beans.factory.support.RootBeanDefinition.resolvedTargetType:Ljava/lang/Class;
9: StackMap locals: java.lang.Object java.lang.Class
StackMap stack:
aload 2
getfield org.springframework.beans.factory.support.RootBeanDefinition.postProcessingLock:Ljava/lang/Object;
dup
astore 7
monitorenter
10: aload 2
getfield org.springframework.beans.factory.support.RootBeanDefinition.postProcessed:Z
ifne 18
11: aload 0
aload 2
aload 6
aload 1
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyMergedBeanDefinitionPostProcessors:(Lorg/springframework/beans/factory/support/RootBeanDefinition;Ljava/lang/Class;Ljava/lang/String;)V
12: goto 17
13: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.RootBeanDefinition java.lang.Object[] org.springframework.beans.BeanWrapper java.lang.Object java.lang.Class java.lang.Object
StackMap stack: java.lang.Throwable
astore 8
start local 8 14: new org.springframework.beans.factory.BeanCreationException
dup
aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getResourceDescription:()Ljava/lang/String;
aload 1
15: ldc "Post-processing of merged bean definition failed"
aload 8
16: invokespecial org.springframework.beans.factory.BeanCreationException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 8 17: StackMap locals:
StackMap stack:
aload 2
iconst_1
putfield org.springframework.beans.factory.support.RootBeanDefinition.postProcessed:Z
18: StackMap locals:
StackMap stack:
aload 7
monitorexit
19: goto 22
StackMap locals:
StackMap stack: java.lang.Throwable
20: aload 7
monitorexit
21: athrow
22: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.isSingleton:()Z
ifeq 25
aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.allowCircularReferences:Z
ifeq 25
23: aload 0
aload 1
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.isSingletonCurrentlyInCreation:(Ljava/lang/String;)Z
ifeq 25
24: iconst_1
goto 26
StackMap locals:
StackMap stack:
25: iconst_0
StackMap locals:
StackMap stack: int
26: istore 7
start local 7 27: iload 7
ifeq 33
28: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 32
29: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Eagerly caching bean '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
30: ldc "' to allow for resolving potential circular references"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
31: invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
32: StackMap locals: int
StackMap stack:
aload 0
aload 1
aload 0
aload 1
aload 2
aload 5
invokedynamic getObject(Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;Ljava/lang/Object;)Lorg/springframework/beans/factory/ObjectFactory;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
org/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory.lambda$1(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;Ljava/lang/Object;)Ljava/lang/Object; (7)
()Ljava/lang/Object;
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.addSingletonFactory:(Ljava/lang/String;Lorg/springframework/beans/factory/ObjectFactory;)V
33: StackMap locals:
StackMap stack:
aload 5
astore 8
start local 8 34: aload 0
aload 1
aload 2
aload 4
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean:(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;Lorg/springframework/beans/BeanWrapper;)V
35: aload 0
aload 1
aload 8
aload 2
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean:(Ljava/lang/String;Ljava/lang/Object;Lorg/springframework/beans/factory/support/RootBeanDefinition;)Ljava/lang/Object;
astore 8
36: goto 43
37: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.RootBeanDefinition java.lang.Object[] org.springframework.beans.BeanWrapper java.lang.Object java.lang.Class int java.lang.Object
StackMap stack: java.lang.Throwable
astore 9
start local 9 38: aload 9
instanceof org.springframework.beans.factory.BeanCreationException
ifeq 40
aload 1
aload 9
checkcast org.springframework.beans.factory.BeanCreationException
invokevirtual org.springframework.beans.factory.BeanCreationException.getBeanName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 40
39: aload 9
checkcast org.springframework.beans.factory.BeanCreationException
athrow
40: StackMap locals: java.lang.Throwable
StackMap stack:
new org.springframework.beans.factory.BeanCreationException
dup
41: aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getResourceDescription:()Ljava/lang/String;
aload 1
ldc "Initialization of bean failed"
aload 9
42: invokespecial org.springframework.beans.factory.BeanCreationException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 9 43: StackMap locals:
StackMap stack:
iload 7
ifeq 68
44: aload 0
aload 1
iconst_0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getSingleton:(Ljava/lang/String;Z)Ljava/lang/Object;
astore 9
start local 9 45: aload 9
ifnull 68
46: aload 8
aload 5
if_acmpne 49
47: aload 9
astore 8
48: goto 68
49: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.allowRawInjectionDespiteWrapping:Z
ifne 68
aload 0
aload 1
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.hasDependentBean:(Ljava/lang/String;)Z
ifeq 68
50: aload 0
aload 1
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getDependentBeans:(Ljava/lang/String;)[Ljava/lang/String;
astore 10
start local 10 51: new java.util.LinkedHashSet
dup
aload 10
arraylength
invokespecial java.util.LinkedHashSet.<init>:(I)V
astore 11
start local 11 52: aload 10
dup
astore 15
arraylength
istore 14
iconst_0
istore 13
goto 57
StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.RootBeanDefinition java.lang.Object[] org.springframework.beans.BeanWrapper java.lang.Object java.lang.Class int java.lang.Object java.lang.Object java.lang.String[] java.util.Set top int int java.lang.String[]
StackMap stack:
53: aload 15
iload 13
aaload
astore 12
start local 12 54: aload 0
aload 12
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.removeSingletonIfCreatedForTypeCheckOnly:(Ljava/lang/String;)Z
ifne 56
55: aload 11
aload 12
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 12 56: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
57: iload 13
iload 14
if_icmplt 53
58: aload 11
invokeinterface java.util.Set.isEmpty:()Z
ifne 68
59: new org.springframework.beans.factory.BeanCurrentlyInCreationException
dup
aload 1
60: new java.lang.StringBuilder
dup
ldc "Bean with name '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "' has been injected into other beans ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
61: aload 11
invokestatic org.springframework.util.StringUtils.collectionToCommaDelimitedString:(Ljava/util/Collection;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
62: ldc "] in its raw version as part of a circular reference, but has eventually been "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
63: ldc "wrapped. This means that said other beans do not use the final version of the "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
64: ldc "bean. This is often the result of over-eager type matching - consider using "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
65: ldc "'getBeanNamesOfType' with the 'allowEagerInit' flag turned off, for example."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
66: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
67: invokespecial org.springframework.beans.factory.BeanCurrentlyInCreationException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
athrow
end local 11 end local 10 end local 9 68: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.RootBeanDefinition java.lang.Object[] org.springframework.beans.BeanWrapper java.lang.Object java.lang.Class int java.lang.Object
StackMap stack:
aload 0
aload 1
aload 5
aload 2
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.registerDisposableBeanIfNecessary:(Ljava/lang/String;Ljava/lang/Object;Lorg/springframework/beans/factory/support/RootBeanDefinition;)V
69: goto 74
70: StackMap locals:
StackMap stack: org.springframework.beans.factory.support.BeanDefinitionValidationException
astore 9
start local 9 71: new org.springframework.beans.factory.BeanCreationException
dup
72: aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getResourceDescription:()Ljava/lang/String;
aload 1
ldc "Invalid destruction signature"
aload 9
73: invokespecial org.springframework.beans.factory.BeanCreationException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 9 74: StackMap locals:
StackMap stack:
aload 8
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 75 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 75 1 beanName Ljava/lang/String;
0 75 2 mbd Lorg/springframework/beans/factory/support/RootBeanDefinition;
0 75 3 args [Ljava/lang/Object;
1 75 4 instanceWrapper Lorg/springframework/beans/BeanWrapper;
6 75 5 bean Ljava/lang/Object;
7 75 6 beanType Ljava/lang/Class<*>;
14 17 8 ex Ljava/lang/Throwable;
27 75 7 earlySingletonExposure Z
34 75 8 exposedObject Ljava/lang/Object;
38 43 9 ex Ljava/lang/Throwable;
45 68 9 earlySingletonReference Ljava/lang/Object;
51 68 10 dependentBeans [Ljava/lang/String;
52 68 11 actualDependentBeans Ljava/util/Set<Ljava/lang/String;>;
54 56 12 dependentBean Ljava/lang/String;
71 74 9 ex Lorg/springframework/beans/factory/support/BeanDefinitionValidationException;
Exception table:
from to target type
11 12 13 Class java.lang.Throwable
10 19 20 any
20 21 20 any
34 36 37 Class java.lang.Throwable
68 69 70 Class org.springframework.beans.factory.support.BeanDefinitionValidationException
Exceptions:
throws org.springframework.beans.factory.BeanCreationException
RuntimeVisibleParameterAnnotations:
0:
1:
2:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
beanName final
mbd final
args final
protected java.lang.Class<?> predictBeanType(java.lang.String, org.springframework.beans.factory.support.RootBeanDefinition, java.lang.Class<?>[]);
descriptor: (Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;[Ljava/lang/Class;)Ljava/lang/Class;
flags: (0x0084) ACC_PROTECTED, ACC_VARARGS
Code:
stack=4, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineTargetType:(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;[Ljava/lang/Class;)Ljava/lang/Class;
astore 4
start local 4 1: aload 4
ifnull 11
aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.isSynthetic:()Z
ifne 11
aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.hasInstantiationAwareBeanPostProcessors:()Z
ifeq 11
2: aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getBeanPostProcessors:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 10
StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.RootBeanDefinition java.lang.Class[] java.lang.Class top java.util.Iterator
StackMap stack:
3: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.springframework.beans.factory.config.BeanPostProcessor
astore 5
start local 5 4: aload 5
instanceof org.springframework.beans.factory.config.SmartInstantiationAwareBeanPostProcessor
ifeq 10
5: aload 5
checkcast org.springframework.beans.factory.config.SmartInstantiationAwareBeanPostProcessor
astore 7
start local 7 6: aload 7
aload 4
aload 1
invokeinterface org.springframework.beans.factory.config.SmartInstantiationAwareBeanPostProcessor.predictBeanType:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Class;
astore 8
start local 8 7: aload 8
ifnull 10
aload 3
arraylength
iconst_1
if_icmpne 9
ldc Lorg/springframework/beans/factory/FactoryBean;
aload 3
iconst_0
aaload
if_acmpne 9
8: ldc Lorg/springframework/beans/factory/FactoryBean;
aload 8
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 10
9: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.RootBeanDefinition java.lang.Class[] java.lang.Class org.springframework.beans.factory.config.BeanPostProcessor java.util.Iterator org.springframework.beans.factory.config.SmartInstantiationAwareBeanPostProcessor java.lang.Class
StackMap stack:
aload 8
areturn
end local 8 end local 7 end local 5 10: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.RootBeanDefinition java.lang.Class[] java.lang.Class top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
11: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.RootBeanDefinition java.lang.Class[] java.lang.Class
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 12 1 beanName Ljava/lang/String;
0 12 2 mbd Lorg/springframework/beans/factory/support/RootBeanDefinition;
0 12 3 typesToMatch [Ljava/lang/Class;
1 12 4 targetType Ljava/lang/Class<*>;
4 10 5 bp Lorg/springframework/beans/factory/config/BeanPostProcessor;
6 10 7 ibp Lorg/springframework/beans/factory/config/SmartInstantiationAwareBeanPostProcessor;
7 10 8 predicted Ljava/lang/Class<*>;
Signature: (Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;[Ljava/lang/Class<*>;)Ljava/lang/Class<*>;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
beanName
mbd
typesToMatch
protected java.lang.Class<?> determineTargetType(java.lang.String, org.springframework.beans.factory.support.RootBeanDefinition, java.lang.Class<?>[]);
descriptor: (Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;[Ljava/lang/Class;)Ljava/lang/Class;
flags: (0x0084) ACC_PROTECTED, ACC_VARARGS
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getTargetType:()Ljava/lang/Class;
astore 4
start local 4 1: aload 4
ifnonnull 8
2: aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getFactoryMethodName:()Ljava/lang/String;
ifnull 4
3: aload 0
aload 1
aload 2
aload 3
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryMethod:(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;[Ljava/lang/Class;)Ljava/lang/Class;
goto 5
4: StackMap locals: java.lang.Class
StackMap stack:
aload 0
aload 2
aload 1
aload 3
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveBeanClass:(Lorg/springframework/beans/factory/support/RootBeanDefinition;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/Class;
5: StackMap locals:
StackMap stack: java.lang.Class
astore 4
6: aload 3
invokestatic org.springframework.util.ObjectUtils.isEmpty:([Ljava/lang/Object;)Z
ifne 7
aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTempClassLoader:()Ljava/lang/ClassLoader;
ifnonnull 8
7: StackMap locals:
StackMap stack:
aload 2
aload 4
putfield org.springframework.beans.factory.support.RootBeanDefinition.resolvedTargetType:Ljava/lang/Class;
8: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 9 1 beanName Ljava/lang/String;
0 9 2 mbd Lorg/springframework/beans/factory/support/RootBeanDefinition;
0 9 3 typesToMatch [Ljava/lang/Class;
1 9 4 targetType Ljava/lang/Class<*>;
Signature: (Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;[Ljava/lang/Class<*>;)Ljava/lang/Class<*>;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
beanName
mbd
typesToMatch
protected java.lang.Class<?> getTypeForFactoryMethod(java.lang.String, org.springframework.beans.factory.support.RootBeanDefinition, java.lang.Class<?>[]);
descriptor: (Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;[Ljava/lang/Class;)Ljava/lang/Class;
flags: (0x0084) ACC_PROTECTED, ACC_VARARGS
Code:
stack=5, locals=24, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
getfield org.springframework.beans.factory.support.RootBeanDefinition.factoryMethodReturnType:Lorg/springframework/core/ResolvableType;
astore 4
start local 4 1: aload 4
ifnull 3
2: aload 4
invokevirtual org.springframework.core.ResolvableType.resolve:()Ljava/lang/Class;
areturn
3: StackMap locals: org.springframework.core.ResolvableType
StackMap stack:
iconst_1
istore 6
start local 6 4: aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getFactoryBeanName:()Ljava/lang/String;
astore 7
start local 7 5: aload 7
ifnull 13
6: aload 7
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
7: new org.springframework.beans.factory.BeanDefinitionStoreException
dup
aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getResourceDescription:()Ljava/lang/String;
aload 1
8: ldc "factory-bean reference points back to the same bean definition"
9: invokespecial org.springframework.beans.factory.BeanDefinitionStoreException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
athrow
10: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.RootBeanDefinition java.lang.Class[] org.springframework.core.ResolvableType top int java.lang.String
StackMap stack:
aload 0
aload 7
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getType:(Ljava/lang/String;)Ljava/lang/Class;
astore 5
start local 5 11: iconst_0
istore 6
12: goto 14
end local 5 13: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 1
aload 3
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveBeanClass:(Lorg/springframework/beans/factory/support/RootBeanDefinition;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/Class;
astore 5
start local 5 14: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.RootBeanDefinition java.lang.Class[] org.springframework.core.ResolvableType java.lang.Class int java.lang.String
StackMap stack:
aload 5
ifnonnull 16
15: aconst_null
areturn
16: StackMap locals:
StackMap stack:
aload 5
invokestatic org.springframework.util.ClassUtils.getUserClass:(Ljava/lang/Class;)Ljava/lang/Class;
astore 5
17: aconst_null
astore 8
start local 8 18: aconst_null
astore 9
start local 9 19: aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.hasConstructorArgumentValues:()Z
ifeq 20
aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getConstructorArgumentValues:()Lorg/springframework/beans/factory/config/ConstructorArgumentValues;
invokevirtual org.springframework.beans.factory.config.ConstructorArgumentValues.getArgumentCount:()I
goto 21
StackMap locals: java.lang.Class java.lang.reflect.Method
StackMap stack:
20: iconst_0
21: StackMap locals:
StackMap stack: int
istore 10
start local 10 22: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.factoryMethodCandidateCache:Ljava/util/concurrent/ConcurrentMap;
23: aload 5
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
org/springframework/util/ReflectionUtils.getUniqueDeclaredMethods(Ljava/lang/Class;)[Ljava/lang/reflect/Method; (6)
(Ljava/lang/Class;)[Ljava/lang/reflect/Method;
24: invokeinterface java.util.concurrent.ConcurrentMap.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
checkcast java.lang.reflect.Method[]
astore 11
start local 11 25: aload 11
dup
astore 15
arraylength
istore 14
iconst_0
istore 13
goto 72
StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.RootBeanDefinition java.lang.Class[] org.springframework.core.ResolvableType java.lang.Class int java.lang.String java.lang.Class java.lang.reflect.Method int java.lang.reflect.Method[] top int int java.lang.reflect.Method[]
StackMap stack:
26: aload 15
iload 13
aaload
astore 12
start local 12 27: aload 12
invokevirtual java.lang.reflect.Method.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
iload 6
if_icmpne 71
aload 2
aload 12
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.isFactoryMethod:(Ljava/lang/reflect/Method;)Z
ifeq 71
28: aload 12
invokevirtual java.lang.reflect.Method.getParameterCount:()I
iload 10
if_icmplt 71
29: aload 12
invokevirtual java.lang.reflect.Method.getTypeParameters:()[Ljava/lang/reflect/TypeVariable;
arraylength
ifle 65
30: aload 12
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
astore 16
start local 16 31: aconst_null
astore 17
start local 17 32: aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getParameterNameDiscoverer:()Lorg/springframework/core/ParameterNameDiscoverer;
astore 18
start local 18 33: aload 18
ifnull 35
34: aload 18
aload 12
invokeinterface org.springframework.core.ParameterNameDiscoverer.getParameterNames:(Ljava/lang/reflect/Method;)[Ljava/lang/String;
astore 17
35: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.RootBeanDefinition java.lang.Class[] org.springframework.core.ResolvableType java.lang.Class int java.lang.String java.lang.Class java.lang.reflect.Method int java.lang.reflect.Method[] java.lang.reflect.Method int int java.lang.reflect.Method[] java.lang.Class[] java.lang.String[] org.springframework.core.ParameterNameDiscoverer
StackMap stack:
aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getConstructorArgumentValues:()Lorg/springframework/beans/factory/config/ConstructorArgumentValues;
astore 19
start local 19 36: new java.util.HashSet
dup
aload 16
arraylength
invokespecial java.util.HashSet.<init>:(I)V
astore 20
start local 20 37: aload 16
arraylength
anewarray java.lang.Object
astore 21
start local 21 38: iconst_0
istore 22
start local 22 39: goto 51
40: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.RootBeanDefinition java.lang.Class[] org.springframework.core.ResolvableType java.lang.Class int java.lang.String java.lang.Class java.lang.reflect.Method int java.lang.reflect.Method[] java.lang.reflect.Method int int java.lang.reflect.Method[] java.lang.Class[] java.lang.String[] org.springframework.core.ParameterNameDiscoverer org.springframework.beans.factory.config.ConstructorArgumentValues java.util.Set java.lang.Object[] int
StackMap stack:
aload 19
41: iload 22
aload 16
iload 22
aaload
aload 17
ifnull 42
aload 17
iload 22
aaload
goto 43
StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.RootBeanDefinition java.lang.Class[] org.springframework.core.ResolvableType java.lang.Class int java.lang.String java.lang.Class java.lang.reflect.Method int java.lang.reflect.Method[] java.lang.reflect.Method int int java.lang.reflect.Method[] java.lang.Class[] java.lang.String[] org.springframework.core.ParameterNameDiscoverer org.springframework.beans.factory.config.ConstructorArgumentValues java.util.Set java.lang.Object[] int
StackMap stack: org.springframework.beans.factory.config.ConstructorArgumentValues int java.lang.Class
42: aconst_null
StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.RootBeanDefinition java.lang.Class[] org.springframework.core.ResolvableType java.lang.Class int java.lang.String java.lang.Class java.lang.reflect.Method int java.lang.reflect.Method[] java.lang.reflect.Method int int java.lang.reflect.Method[] java.lang.Class[] java.lang.String[] org.springframework.core.ParameterNameDiscoverer org.springframework.beans.factory.config.ConstructorArgumentValues java.util.Set java.lang.Object[] int
StackMap stack: org.springframework.beans.factory.config.ConstructorArgumentValues int java.lang.Class java.lang.String
43: aload 20
44: invokevirtual org.springframework.beans.factory.config.ConstructorArgumentValues.getArgumentValue:(ILjava/lang/Class;Ljava/lang/String;Ljava/util/Set;)Lorg/springframework/beans/factory/config/ConstructorArgumentValues$ValueHolder;
astore 23
start local 23 45: aload 23
ifnonnull 47
46: aload 19
aconst_null
aconst_null
aload 20
invokevirtual org.springframework.beans.factory.config.ConstructorArgumentValues.getGenericArgumentValue:(Ljava/lang/Class;Ljava/lang/String;Ljava/util/Set;)Lorg/springframework/beans/factory/config/ConstructorArgumentValues$ValueHolder;
astore 23
47: StackMap locals: org.springframework.beans.factory.config.ConstructorArgumentValues$ValueHolder
StackMap stack:
aload 23
ifnull 50
48: aload 21
iload 22
aload 23
invokevirtual org.springframework.beans.factory.config.ConstructorArgumentValues$ValueHolder.getValue:()Ljava/lang/Object;
aastore
49: aload 20
aload 23
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 23 50: StackMap locals:
StackMap stack:
iinc 22 1
StackMap locals:
StackMap stack:
51: iload 22
aload 21
arraylength
if_icmplt 40
end local 22 52: aload 12
aload 21
aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getBeanClassLoader:()Ljava/lang/ClassLoader;
53: invokestatic org.springframework.beans.factory.support.AutowireUtils.resolveReturnTypeForFactoryMethod:(Ljava/lang/reflect/Method;[Ljava/lang/Object;Ljava/lang/ClassLoader;)Ljava/lang/Class;
astore 22
start local 22 54: aload 8
ifnonnull 56
aload 22
aload 12
invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
if_acmpne 56
55: aload 12
goto 57
StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.RootBeanDefinition java.lang.Class[] org.springframework.core.ResolvableType java.lang.Class int java.lang.String java.lang.Class java.lang.reflect.Method int java.lang.reflect.Method[] java.lang.reflect.Method int int java.lang.reflect.Method[] java.lang.Class[] java.lang.String[] org.springframework.core.ParameterNameDiscoverer org.springframework.beans.factory.config.ConstructorArgumentValues java.util.Set java.lang.Object[] java.lang.Class
StackMap stack:
56: aconst_null
57: StackMap locals:
StackMap stack: java.lang.reflect.Method
astore 9
58: aload 22
aload 8
invokestatic org.springframework.util.ClassUtils.determineCommonAncestor:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/Class;
astore 8
59: aload 8
ifnonnull 71
60: aconst_null
areturn
end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 61: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.RootBeanDefinition java.lang.Class[] org.springframework.core.ResolvableType java.lang.Class int java.lang.String java.lang.Class java.lang.reflect.Method int java.lang.reflect.Method[] java.lang.reflect.Method int int java.lang.reflect.Method[]
StackMap stack: java.lang.Throwable
astore 16
start local 16 62: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 71
63: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Failed to resolve generic return type for factory method: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 16
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
end local 16 64: goto 71
65: StackMap locals:
StackMap stack:
aload 8
ifnonnull 66
aload 12
goto 67
StackMap locals:
StackMap stack:
66: aconst_null
StackMap locals:
StackMap stack: java.lang.reflect.Method
67: astore 9
68: aload 12
invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
aload 8
invokestatic org.springframework.util.ClassUtils.determineCommonAncestor:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/Class;
astore 8
69: aload 8
ifnonnull 71
70: aconst_null
areturn
end local 12 71: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.RootBeanDefinition java.lang.Class[] org.springframework.core.ResolvableType java.lang.Class int java.lang.String java.lang.Class java.lang.reflect.Method int java.lang.reflect.Method[] top int int java.lang.reflect.Method[]
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
72: iload 13
iload 14
if_icmplt 26
73: aload 2
aload 9
putfield org.springframework.beans.factory.support.RootBeanDefinition.factoryMethodToIntrospect:Ljava/lang/reflect/Method;
74: aload 8
ifnonnull 76
75: aconst_null
areturn
76: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.RootBeanDefinition java.lang.Class[] org.springframework.core.ResolvableType java.lang.Class int java.lang.String java.lang.Class java.lang.reflect.Method int java.lang.reflect.Method[]
StackMap stack:
aload 9
ifnull 78
77: aload 9
invokestatic org.springframework.core.ResolvableType.forMethodReturnType:(Ljava/lang/reflect/Method;)Lorg/springframework/core/ResolvableType;
goto 79
StackMap locals:
StackMap stack:
78: aload 8
invokestatic org.springframework.core.ResolvableType.forClass:(Ljava/lang/Class;)Lorg/springframework/core/ResolvableType;
79: StackMap locals:
StackMap stack: org.springframework.core.ResolvableType
astore 4
80: aload 2
aload 4
putfield org.springframework.beans.factory.support.RootBeanDefinition.factoryMethodReturnType:Lorg/springframework/core/ResolvableType;
81: aload 4
invokevirtual org.springframework.core.ResolvableType.resolve:()Ljava/lang/Class;
areturn
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 82 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 82 1 beanName Ljava/lang/String;
0 82 2 mbd Lorg/springframework/beans/factory/support/RootBeanDefinition;
0 82 3 typesToMatch [Ljava/lang/Class;
1 82 4 cachedReturnType Lorg/springframework/core/ResolvableType;
11 13 5 factoryClass Ljava/lang/Class<*>;
14 82 5 factoryClass Ljava/lang/Class<*>;
4 82 6 isStatic Z
5 82 7 factoryBeanName Ljava/lang/String;
18 82 8 commonType Ljava/lang/Class<*>;
19 82 9 uniqueCandidate Ljava/lang/reflect/Method;
22 82 10 minNrOfArgs I
25 82 11 candidates [Ljava/lang/reflect/Method;
27 71 12 candidate Ljava/lang/reflect/Method;
31 61 16 paramTypes [Ljava/lang/Class;
32 61 17 paramNames [Ljava/lang/String;
33 61 18 pnd Lorg/springframework/core/ParameterNameDiscoverer;
36 61 19 cav Lorg/springframework/beans/factory/config/ConstructorArgumentValues;
37 61 20 usedValueHolders Ljava/util/Set<Lorg/springframework/beans/factory/config/ConstructorArgumentValues$ValueHolder;>;
38 61 21 args [Ljava/lang/Object;
39 52 22 i I
45 50 23 valueHolder Lorg/springframework/beans/factory/config/ConstructorArgumentValues$ValueHolder;
54 61 22 returnType Ljava/lang/Class<*>;
62 64 16 ex Ljava/lang/Throwable;
Exception table:
from to target type
30 60 61 Class java.lang.Throwable
Signature: (Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;[Ljava/lang/Class<*>;)Ljava/lang/Class<*>;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
beanName
mbd
typesToMatch
protected java.lang.Class<?> getTypeForFactoryBean(java.lang.String, org.springframework.beans.factory.support.RootBeanDefinition);
descriptor: (Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;)Ljava/lang/Class;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getInstanceSupplier:()Ljava/util/function/Supplier;
ifnull 10
1: aload 2
getfield org.springframework.beans.factory.support.RootBeanDefinition.targetType:Lorg/springframework/core/ResolvableType;
astore 3
start local 3 2: aload 3
ifnull 6
3: aload 3
ldc Lorg/springframework/beans/factory/FactoryBean;
invokevirtual org.springframework.core.ResolvableType.as:(Ljava/lang/Class;)Lorg/springframework/core/ResolvableType;
iconst_0
newarray 10
invokevirtual org.springframework.core.ResolvableType.getGeneric:([I)Lorg/springframework/core/ResolvableType;
invokevirtual org.springframework.core.ResolvableType.resolve:()Ljava/lang/Class;
astore 4
start local 4 4: aload 4
ifnull 6
5: aload 4
areturn
end local 4 6: StackMap locals: org.springframework.core.ResolvableType
StackMap stack:
aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.hasBeanClass:()Z
ifeq 10
7: aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getBeanClass:()Ljava/lang/Class;
ldc Lorg/springframework/beans/factory/FactoryBean;
invokestatic org.springframework.core.GenericTypeResolver.resolveTypeArgument:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/Class;
astore 4
start local 4 8: aload 4
ifnull 10
9: aload 4
areturn
end local 4 end local 3 10: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getFactoryBeanName:()Ljava/lang/String;
astore 3
start local 3 11: aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getFactoryMethodName:()Ljava/lang/String;
astore 4
start local 4 12: aload 3
ifnull 23
13: aload 4
ifnull 21
14: aload 0
aload 3
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getBeanDefinition:(Ljava/lang/String;)Lorg/springframework/beans/factory/config/BeanDefinition;
astore 5
start local 5 15: aload 5
instanceof org.springframework.beans.factory.support.AbstractBeanDefinition
ifeq 21
16: aload 5
checkcast org.springframework.beans.factory.support.AbstractBeanDefinition
astore 6
start local 6 17: aload 6
invokevirtual org.springframework.beans.factory.support.AbstractBeanDefinition.hasBeanClass:()Z
ifeq 21
18: aload 0
aload 6
invokevirtual org.springframework.beans.factory.support.AbstractBeanDefinition.getBeanClass:()Ljava/lang/Class;
aload 4
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryBeanFromMethod:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Class;
astore 7
start local 7 19: aload 7
ifnull 21
20: aload 7
areturn
end local 7 end local 6 end local 5 21: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 0
aload 3
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.isBeanEligibleForMetadataCaching:(Ljava/lang/String;)Z
ifne 23
22: aconst_null
areturn
23: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.isSingleton:()Z
ifeq 25
24: aload 0
aload 1
aload 2
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getSingletonFactoryBeanForTypeCheck:(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;)Lorg/springframework/beans/factory/FactoryBean;
goto 26
25: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getNonSingletonFactoryBeanForTypeCheck:(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;)Lorg/springframework/beans/factory/FactoryBean;
26: StackMap locals:
StackMap stack: org.springframework.beans.factory.FactoryBean
astore 5
start local 5 27: aload 5
ifnull 32
28: aload 0
aload 5
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryBean:(Lorg/springframework/beans/factory/FactoryBean;)Ljava/lang/Class;
astore 6
start local 6 29: aload 6
ifnull 31
30: aload 6
areturn
31: StackMap locals: org.springframework.beans.factory.FactoryBean java.lang.Class
StackMap stack:
aload 0
aload 1
aload 2
invokespecial org.springframework.beans.factory.support.AbstractBeanFactory.getTypeForFactoryBean:(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;)Ljava/lang/Class;
areturn
end local 6 32: StackMap locals:
StackMap stack:
aload 3
ifnonnull 36
aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.hasBeanClass:()Z
ifeq 36
33: aload 4
ifnull 35
34: aload 0
aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getBeanClass:()Ljava/lang/Class;
aload 4
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryBeanFromMethod:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Class;
areturn
35: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getBeanClass:()Ljava/lang/Class;
ldc Lorg/springframework/beans/factory/FactoryBean;
invokestatic org.springframework.core.GenericTypeResolver.resolveTypeArgument:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/Class;
areturn
36: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 37 1 beanName Ljava/lang/String;
0 37 2 mbd Lorg/springframework/beans/factory/support/RootBeanDefinition;
2 10 3 targetType Lorg/springframework/core/ResolvableType;
4 6 4 result Ljava/lang/Class<*>;
8 10 4 result Ljava/lang/Class<*>;
11 37 3 factoryBeanName Ljava/lang/String;
12 37 4 factoryMethodName Ljava/lang/String;
15 21 5 fbDef Lorg/springframework/beans/factory/config/BeanDefinition;
17 21 6 afbDef Lorg/springframework/beans/factory/support/AbstractBeanDefinition;
19 21 7 result Ljava/lang/Class<*>;
27 37 5 fb Lorg/springframework/beans/factory/FactoryBean<*>;
29 32 6 result Ljava/lang/Class<*>;
Signature: (Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;)Ljava/lang/Class<*>;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
beanName
mbd
private java.lang.Class<?> getTypeForFactoryBeanFromMethod(java.lang.Class<?>, java.lang.String);
descriptor: (Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Class;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: new org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1Holder
dup
aload 0
invokespecial org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1Holder.<init>:(Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;)V
astore 3
start local 3 1: aload 1
invokestatic org.springframework.util.ClassUtils.getUserClass:(Ljava/lang/Class;)Ljava/lang/Class;
astore 4
start local 4 2: aload 4
aload 2
aload 3
invokedynamic doWith(Ljava/lang/String;Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory$1Holder;)Lorg/springframework/util/ReflectionUtils$MethodCallback;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/reflect/Method;)V
org/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory.lambda$3(Ljava/lang/String;Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory$1Holder;Ljava/lang/reflect/Method;)V (6)
(Ljava/lang/reflect/Method;)V
invokestatic org.springframework.util.ReflectionUtils.doWithMethods:(Ljava/lang/Class;Lorg/springframework/util/ReflectionUtils$MethodCallback;)V
3: aload 3
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1Holder.value:Ljava/lang/Class;
ifnull 4
ldc Ljava/lang/Object;
aload 3
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1Holder.value:Ljava/lang/Class;
if_acmpeq 4
aload 3
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1Holder.value:Ljava/lang/Class;
goto 5
StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1Holder java.lang.Class
StackMap stack:
4: aconst_null
StackMap locals:
StackMap stack: java.lang.Class
5: areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 6 1 beanClass Ljava/lang/Class<*>;
0 6 2 factoryMethodName Ljava/lang/String;
1 6 3 objectType Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory$1Holder;
2 6 4 fbClass Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;)Ljava/lang/Class<*>;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
beanClass
factoryMethodName final
protected java.lang.Object getEarlyBeanReference(java.lang.String, org.springframework.beans.factory.support.RootBeanDefinition, java.lang.Object);
descriptor: (Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
astore 4
start local 4 1: aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.isSynthetic:()Z
ifne 8
aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.hasInstantiationAwareBeanPostProcessors:()Z
ifeq 8
2: aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getBeanPostProcessors:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 7
StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.RootBeanDefinition java.lang.Object java.lang.Object top java.util.Iterator
StackMap stack:
3: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.springframework.beans.factory.config.BeanPostProcessor
astore 5
start local 5 4: aload 5
instanceof org.springframework.beans.factory.config.SmartInstantiationAwareBeanPostProcessor
ifeq 7
5: aload 5
checkcast org.springframework.beans.factory.config.SmartInstantiationAwareBeanPostProcessor
astore 7
start local 7 6: aload 7
aload 4
aload 1
invokeinterface org.springframework.beans.factory.config.SmartInstantiationAwareBeanPostProcessor.getEarlyBeanReference:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
astore 4
end local 7 end local 5 7: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
8: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.RootBeanDefinition java.lang.Object java.lang.Object
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 9 1 beanName Ljava/lang/String;
0 9 2 mbd Lorg/springframework/beans/factory/support/RootBeanDefinition;
0 9 3 bean Ljava/lang/Object;
1 9 4 exposedObject Ljava/lang/Object;
4 7 5 bp Lorg/springframework/beans/factory/config/BeanPostProcessor;
6 7 7 ibp Lorg/springframework/beans/factory/config/SmartInstantiationAwareBeanPostProcessor;
MethodParameters:
Name Flags
beanName
mbd
bean
private org.springframework.beans.factory.FactoryBean<?> getSingletonFactoryBeanForTypeCheck(java.lang.String, org.springframework.beans.factory.support.RootBeanDefinition);
descriptor: (Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;)Lorg/springframework/beans/factory/FactoryBean;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getSingletonMutex:()Ljava/lang/Object;
dup
astore 3
monitorenter
1: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.factoryBeanInstanceCache:Ljava/util/concurrent/ConcurrentMap;
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.springframework.beans.BeanWrapper
astore 4
start local 4 2: aload 4
ifnull 5
3: aload 4
invokeinterface org.springframework.beans.BeanWrapper.getWrappedInstance:()Ljava/lang/Object;
checkcast org.springframework.beans.factory.FactoryBean
aload 3
monitorexit
4: areturn
5: StackMap locals: java.lang.Object org.springframework.beans.BeanWrapper
StackMap stack:
aload 0
aload 1
iconst_0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getSingleton:(Ljava/lang/String;Z)Ljava/lang/Object;
astore 5
start local 5 6: aload 5
instanceof org.springframework.beans.factory.FactoryBean
ifeq 9
7: aload 5
checkcast org.springframework.beans.factory.FactoryBean
aload 3
monitorexit
8: areturn
9: StackMap locals: java.lang.Object
StackMap stack:
aload 0
aload 1
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.isSingletonCurrentlyInCreation:(Ljava/lang/String;)Z
ifne 11
10: aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getFactoryBeanName:()Ljava/lang/String;
ifnull 13
aload 0
aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getFactoryBeanName:()Ljava/lang/String;
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.isSingletonCurrentlyInCreation:(Ljava/lang/String;)Z
ifeq 13
11: StackMap locals:
StackMap stack:
aload 3
monitorexit
12: aconst_null
areturn
13: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.beforeSingletonCreation:(Ljava/lang/String;)V
14: aload 0
aload 1
aload 2
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveBeforeInstantiation:(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;)Ljava/lang/Object;
astore 6
start local 6 15: aload 6
ifnonnull 22
16: aload 0
aload 1
aload 2
aconst_null
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance:(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;[Ljava/lang/Object;)Lorg/springframework/beans/BeanWrapper;
astore 4
17: aload 4
invokeinterface org.springframework.beans.BeanWrapper.getWrappedInstance:()Ljava/lang/Object;
astore 6
18: goto 22
end local 6 19: StackMap locals:
StackMap stack: java.lang.Throwable
astore 7
20: aload 0
aload 1
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.afterSingletonCreation:(Ljava/lang/String;)V
21: aload 7
athrow
start local 6 22: StackMap locals: java.lang.Object
StackMap stack:
aload 0
aload 1
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.afterSingletonCreation:(Ljava/lang/String;)V
23: aload 0
aload 1
aload 6
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getFactoryBean:(Ljava/lang/String;Ljava/lang/Object;)Lorg/springframework/beans/factory/FactoryBean;
astore 7
start local 7 24: aload 4
ifnull 26
25: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.factoryBeanInstanceCache:Ljava/util/concurrent/ConcurrentMap;
aload 1
aload 4
invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
26: StackMap locals: org.springframework.beans.factory.FactoryBean
StackMap stack:
aload 7
aload 3
monitorexit
27: areturn
end local 7 end local 6 end local 5 end local 4 28: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.RootBeanDefinition java.lang.Object
StackMap stack: java.lang.Throwable
aload 3
monitorexit
29: athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 30 1 beanName Ljava/lang/String;
0 30 2 mbd Lorg/springframework/beans/factory/support/RootBeanDefinition;
2 28 4 bw Lorg/springframework/beans/BeanWrapper;
6 28 5 beanInstance Ljava/lang/Object;
15 19 6 instance Ljava/lang/Object;
22 28 6 instance Ljava/lang/Object;
24 28 7 fb Lorg/springframework/beans/factory/FactoryBean<*>;
Exception table:
from to target type
13 19 19 any
1 4 28 any
5 8 28 any
9 12 28 any
13 27 28 any
28 29 28 any
Signature: (Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;)Lorg/springframework/beans/factory/FactoryBean<*>;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
beanName
mbd
private org.springframework.beans.factory.FactoryBean<?> getNonSingletonFactoryBeanForTypeCheck(java.lang.String, org.springframework.beans.factory.support.RootBeanDefinition);
descriptor: (Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;)Lorg/springframework/beans/factory/FactoryBean;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.isPrototypeCurrentlyInCreation:(Ljava/lang/String;)Z
ifeq 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aconst_null
astore 3
start local 3 3: aload 0
aload 1
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.beforePrototypeCreation:(Ljava/lang/String;)V
4: aload 0
aload 1
aload 2
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveBeforeInstantiation:(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;)Ljava/lang/Object;
astore 3
5: aload 3
ifnonnull 18
6: aload 0
aload 1
aload 2
aconst_null
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance:(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;[Ljava/lang/Object;)Lorg/springframework/beans/BeanWrapper;
astore 4
start local 4 7: aload 4
invokeinterface org.springframework.beans.BeanWrapper.getWrappedInstance:()Ljava/lang/Object;
astore 3
end local 4 8: goto 18
9: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.RootBeanDefinition java.lang.Object
StackMap stack: org.springframework.beans.factory.BeanCreationException
astore 4
start local 4 10: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 12
11: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Bean creation exception on non-singleton FactoryBean type check: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
12: StackMap locals: org.springframework.beans.factory.BeanCreationException
StackMap stack:
aload 0
aload 4
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.onSuppressedException:(Ljava/lang/Exception;)V
13: aload 0
aload 1
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.afterPrototypeCreation:(Ljava/lang/String;)V
14: aconst_null
areturn
end local 4 15: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.RootBeanDefinition java.lang.Object
StackMap stack: java.lang.Throwable
astore 5
16: aload 0
aload 1
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.afterPrototypeCreation:(Ljava/lang/String;)V
17: aload 5
athrow
18: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.afterPrototypeCreation:(Ljava/lang/String;)V
19: aload 0
aload 1
aload 3
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getFactoryBean:(Ljava/lang/String;Ljava/lang/Object;)Lorg/springframework/beans/factory/FactoryBean;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 20 1 beanName Ljava/lang/String;
0 20 2 mbd Lorg/springframework/beans/factory/support/RootBeanDefinition;
3 20 3 instance Ljava/lang/Object;
7 8 4 bw Lorg/springframework/beans/BeanWrapper;
10 15 4 ex Lorg/springframework/beans/factory/BeanCreationException;
Exception table:
from to target type
3 8 9 Class org.springframework.beans.factory.BeanCreationException
3 13 15 any
Signature: (Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;)Lorg/springframework/beans/factory/FactoryBean<*>;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
beanName
mbd
protected void applyMergedBeanDefinitionPostProcessors(org.springframework.beans.factory.support.RootBeanDefinition, java.lang.Class<?>, java.lang.String);
descriptor: (Lorg/springframework/beans/factory/support/RootBeanDefinition;Ljava/lang/Class;Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getBeanPostProcessors:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 5
StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory org.springframework.beans.factory.support.RootBeanDefinition java.lang.Class java.lang.String top java.util.Iterator
StackMap stack:
1: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.springframework.beans.factory.config.BeanPostProcessor
astore 4
start local 4 2: aload 4
instanceof org.springframework.beans.factory.support.MergedBeanDefinitionPostProcessor
ifeq 5
3: aload 4
checkcast org.springframework.beans.factory.support.MergedBeanDefinitionPostProcessor
astore 6
start local 6 4: aload 6
aload 1
aload 2
aload 3
invokeinterface org.springframework.beans.factory.support.MergedBeanDefinitionPostProcessor.postProcessMergedBeanDefinition:(Lorg/springframework/beans/factory/support/RootBeanDefinition;Ljava/lang/Class;Ljava/lang/String;)V
end local 6 end local 4 5: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 7 1 mbd Lorg/springframework/beans/factory/support/RootBeanDefinition;
0 7 2 beanType Ljava/lang/Class<*>;
0 7 3 beanName Ljava/lang/String;
2 5 4 bp Lorg/springframework/beans/factory/config/BeanPostProcessor;
4 5 6 bdp Lorg/springframework/beans/factory/support/MergedBeanDefinitionPostProcessor;
Signature: (Lorg/springframework/beans/factory/support/RootBeanDefinition;Ljava/lang/Class<*>;Ljava/lang/String;)V
MethodParameters:
Name Flags
mbd
beanType
beanName
protected java.lang.Object resolveBeforeInstantiation(java.lang.String, org.springframework.beans.factory.support.RootBeanDefinition);
descriptor: (Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
aload 2
getfield org.springframework.beans.factory.support.RootBeanDefinition.beforeInstantiationResolved:Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
ifne 11
2: aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.isSynthetic:()Z
ifne 8
aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.hasInstantiationAwareBeanPostProcessors:()Z
ifeq 8
3: aload 0
aload 1
aload 2
iconst_0
anewarray java.lang.Class
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineTargetType:(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;[Ljava/lang/Class;)Ljava/lang/Class;
astore 4
start local 4 4: aload 4
ifnull 8
5: aload 0
aload 4
aload 1
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInstantiation:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
astore 3
6: aload 3
ifnull 8
7: aload 0
aload 3
aload 1
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
astore 3
end local 4 8: StackMap locals: java.lang.Object
StackMap stack:
aload 2
aload 3
ifnull 9
iconst_1
goto 10
StackMap locals:
StackMap stack: org.springframework.beans.factory.support.RootBeanDefinition
9: iconst_0
StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.RootBeanDefinition java.lang.Object
StackMap stack: org.springframework.beans.factory.support.RootBeanDefinition int
10: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
putfield org.springframework.beans.factory.support.RootBeanDefinition.beforeInstantiationResolved:Ljava/lang/Boolean;
11: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 12 1 beanName Ljava/lang/String;
0 12 2 mbd Lorg/springframework/beans/factory/support/RootBeanDefinition;
1 12 3 bean Ljava/lang/Object;
4 8 4 targetType Ljava/lang/Class<*>;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
beanName
mbd
protected applyBeanPostProcessorsBeforeInstantiation(java.lang.Class<?>, java.lang.String);
descriptor: (Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getBeanPostProcessors:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 7
StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.Class java.lang.String top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.springframework.beans.factory.config.BeanPostProcessor
astore 3
start local 3 2: aload 3
instanceof org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessor
ifeq 7
3: aload 3
checkcast org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessor
astore 5
start local 5 4: aload 5
aload 1
aload 2
invokeinterface org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessor.postProcessBeforeInstantiation:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
astore 6
start local 6 5: aload 6
ifnull 7
6: aload 6
areturn
end local 6 end local 5 end local 3 7: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
8: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 9 1 beanClass Ljava/lang/Class<*>;
0 9 2 beanName Ljava/lang/String;
2 7 3 bp Lorg/springframework/beans/factory/config/BeanPostProcessor;
4 7 5 ibp Lorg/springframework/beans/factory/config/InstantiationAwareBeanPostProcessor;
5 7 6 result Ljava/lang/Object;
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;)Ljava/lang/Object;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
beanClass
beanName
protected org.springframework.beans.BeanWrapper createBeanInstance(java.lang.String, org.springframework.beans.factory.support.RootBeanDefinition, java.lang.Object[]);
descriptor: (Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;[Ljava/lang/Object;)Lorg/springframework/beans/BeanWrapper;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
aload 1
iconst_0
anewarray java.lang.Class
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveBeanClass:(Lorg/springframework/beans/factory/support/RootBeanDefinition;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/Class;
astore 4
start local 4 1: aload 4
ifnull 5
aload 4
invokevirtual java.lang.Class.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
ifne 5
aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.isNonPublicAccessAllowed:()Z
ifne 5
2: new org.springframework.beans.factory.BeanCreationException
dup
aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getResourceDescription:()Ljava/lang/String;
aload 1
3: new java.lang.StringBuilder
dup
ldc "Bean class isn't public, and non-public access not allowed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokespecial org.springframework.beans.factory.BeanCreationException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
athrow
5: StackMap locals: java.lang.Class
StackMap stack:
aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getInstanceSupplier:()Ljava/util/function/Supplier;
astore 5
start local 5 6: aload 5
ifnull 8
7: aload 0
aload 5
aload 1
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.obtainFromSupplier:(Ljava/util/function/Supplier;Ljava/lang/String;)Lorg/springframework/beans/BeanWrapper;
areturn
8: StackMap locals: java.util.function.Supplier
StackMap stack:
aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getFactoryMethodName:()Ljava/lang/String;
ifnull 10
9: aload 0
aload 1
aload 2
aload 3
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod:(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;[Ljava/lang/Object;)Lorg/springframework/beans/BeanWrapper;
areturn
10: StackMap locals:
StackMap stack:
iconst_0
istore 6
start local 6 11: iconst_0
istore 7
start local 7 12: aload 3
ifnonnull 21
13: aload 2
getfield org.springframework.beans.factory.support.RootBeanDefinition.constructorArgumentLock:Ljava/lang/Object;
dup
astore 8
monitorenter
14: aload 2
getfield org.springframework.beans.factory.support.RootBeanDefinition.resolvedConstructorOrFactoryMethod:Ljava/lang/reflect/Executable;
ifnull 17
15: iconst_1
istore 6
16: aload 2
getfield org.springframework.beans.factory.support.RootBeanDefinition.constructorArgumentsResolved:Z
istore 7
17: StackMap locals: int int java.lang.Object
StackMap stack:
aload 8
monitorexit
18: goto 21
StackMap locals:
StackMap stack: java.lang.Throwable
19: aload 8
monitorexit
20: athrow
21: StackMap locals:
StackMap stack:
iload 6
ifeq 25
22: iload 7
ifeq 24
23: aload 0
aload 1
aload 2
aconst_null
aconst_null
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor:(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;[Ljava/lang/reflect/Constructor;[Ljava/lang/Object;)Lorg/springframework/beans/BeanWrapper;
areturn
24: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean:(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;)Lorg/springframework/beans/BeanWrapper;
areturn
25: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 1
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineConstructorsFromBeanPostProcessors:(Ljava/lang/Class;Ljava/lang/String;)[Ljava/lang/reflect/Constructor;
astore 8
start local 8 26: aload 8
ifnonnull 28
aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getResolvedAutowireMode:()I
iconst_3
if_icmpeq 28
27: aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.hasConstructorArgumentValues:()Z
ifne 28
aload 3
invokestatic org.springframework.util.ObjectUtils.isEmpty:([Ljava/lang/Object;)Z
ifne 29
28: StackMap locals: java.lang.reflect.Constructor[]
StackMap stack:
aload 0
aload 1
aload 2
aload 8
aload 3
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor:(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;[Ljava/lang/reflect/Constructor;[Ljava/lang/Object;)Lorg/springframework/beans/BeanWrapper;
areturn
29: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getPreferredConstructors:()[Ljava/lang/reflect/Constructor;
astore 8
30: aload 8
ifnull 32
31: aload 0
aload 1
aload 2
aload 8
aconst_null
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor:(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;[Ljava/lang/reflect/Constructor;[Ljava/lang/Object;)Lorg/springframework/beans/BeanWrapper;
areturn
32: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean:(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;)Lorg/springframework/beans/BeanWrapper;
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 33 1 beanName Ljava/lang/String;
0 33 2 mbd Lorg/springframework/beans/factory/support/RootBeanDefinition;
0 33 3 args [Ljava/lang/Object;
1 33 4 beanClass Ljava/lang/Class<*>;
6 33 5 instanceSupplier Ljava/util/function/Supplier<*>;
11 33 6 resolved Z
12 33 7 autowireNecessary Z
26 33 8 ctors [Ljava/lang/reflect/Constructor;
Exception table:
from to target type
14 18 19 any
19 20 19 any
RuntimeVisibleParameterAnnotations:
0:
1:
2:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
beanName
mbd
args
protected org.springframework.beans.BeanWrapper obtainFromSupplier(java.util.function.Supplier<?>, java.lang.String);
descriptor: (Ljava/util/function/Supplier;Ljava/lang/String;)Lorg/springframework/beans/BeanWrapper;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.currentlyCreatedBean:Lorg/springframework/core/NamedThreadLocal;
invokevirtual org.springframework.core.NamedThreadLocal.get:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 1: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.currentlyCreatedBean:Lorg/springframework/core/NamedThreadLocal;
aload 2
invokevirtual org.springframework.core.NamedThreadLocal.set:(Ljava/lang/Object;)V
2: aload 1
invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
astore 3
start local 3 3: goto 10
end local 3 4: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.util.function.Supplier java.lang.String top java.lang.String
StackMap stack: java.lang.Throwable
astore 5
5: aload 4
ifnull 8
6: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.currentlyCreatedBean:Lorg/springframework/core/NamedThreadLocal;
aload 4
invokevirtual org.springframework.core.NamedThreadLocal.set:(Ljava/lang/Object;)V
7: goto 9
8: StackMap locals: java.lang.Throwable
StackMap stack:
aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.currentlyCreatedBean:Lorg/springframework/core/NamedThreadLocal;
invokevirtual org.springframework.core.NamedThreadLocal.remove:()V
9: StackMap locals:
StackMap stack:
aload 5
athrow
start local 3 10: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.util.function.Supplier java.lang.String java.lang.Object java.lang.String
StackMap stack:
aload 4
ifnull 13
11: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.currentlyCreatedBean:Lorg/springframework/core/NamedThreadLocal;
aload 4
invokevirtual org.springframework.core.NamedThreadLocal.set:(Ljava/lang/Object;)V
12: goto 14
13: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.currentlyCreatedBean:Lorg/springframework/core/NamedThreadLocal;
invokevirtual org.springframework.core.NamedThreadLocal.remove:()V
14: StackMap locals:
StackMap stack:
aload 3
ifnonnull 16
15: new org.springframework.beans.factory.support.NullBean
dup
invokespecial org.springframework.beans.factory.support.NullBean.<init>:()V
astore 3
16: StackMap locals:
StackMap stack:
new org.springframework.beans.BeanWrapperImpl
dup
aload 3
invokespecial org.springframework.beans.BeanWrapperImpl.<init>:(Ljava/lang/Object;)V
astore 5
start local 5 17: aload 0
aload 5
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initBeanWrapper:(Lorg/springframework/beans/BeanWrapper;)V
18: aload 5
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 19 1 instanceSupplier Ljava/util/function/Supplier<*>;
0 19 2 beanName Ljava/lang/String;
3 4 3 instance Ljava/lang/Object;
10 19 3 instance Ljava/lang/Object;
1 19 4 outerBean Ljava/lang/String;
17 19 5 bw Lorg/springframework/beans/BeanWrapper;
Exception table:
from to target type
2 4 4 any
Signature: (Ljava/util/function/Supplier<*>;Ljava/lang/String;)Lorg/springframework/beans/BeanWrapper;
MethodParameters:
Name Flags
instanceSupplier
beanName
protected java.lang.Object getObjectForBeanInstance(java.lang.Object, java.lang.String, java.lang.String, org.springframework.beans.factory.support.RootBeanDefinition);
descriptor: (Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.currentlyCreatedBean:Lorg/springframework/core/NamedThreadLocal;
invokevirtual org.springframework.core.NamedThreadLocal.get:()Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 1: aload 5
ifnull 3
2: aload 0
aload 3
aload 5
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.registerDependentBean:(Ljava/lang/String;Ljava/lang/String;)V
3: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 1
aload 2
aload 3
aload 4
invokespecial org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;)Ljava/lang/Object;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 4 1 beanInstance Ljava/lang/Object;
0 4 2 name Ljava/lang/String;
0 4 3 beanName Ljava/lang/String;
0 4 4 mbd Lorg/springframework/beans/factory/support/RootBeanDefinition;
1 4 5 currentlyCreatedBean Ljava/lang/String;
RuntimeVisibleParameterAnnotations:
0:
1:
2:
3:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
beanInstance
name
beanName
mbd
protected java.lang.reflect.Constructor<?>[] determineConstructorsFromBeanPostProcessors(java.lang.Class<?>, java.lang.String);
descriptor: (Ljava/lang/Class;Ljava/lang/String;)[Ljava/lang/reflect/Constructor;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 9
aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.hasInstantiationAwareBeanPostProcessors:()Z
ifeq 9
1: aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getBeanPostProcessors:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 8
StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.Class java.lang.String top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.springframework.beans.factory.config.BeanPostProcessor
astore 3
start local 3 3: aload 3
instanceof org.springframework.beans.factory.config.SmartInstantiationAwareBeanPostProcessor
ifeq 8
4: aload 3
checkcast org.springframework.beans.factory.config.SmartInstantiationAwareBeanPostProcessor
astore 5
start local 5 5: aload 5
aload 1
aload 2
invokeinterface org.springframework.beans.factory.config.SmartInstantiationAwareBeanPostProcessor.determineCandidateConstructors:(Ljava/lang/Class;Ljava/lang/String;)[Ljava/lang/reflect/Constructor;
astore 6
start local 6 6: aload 6
ifnull 8
7: aload 6
areturn
end local 6 end local 5 end local 3 8: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
9: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.Class java.lang.String
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 10 1 beanClass Ljava/lang/Class<*>;
0 10 2 beanName Ljava/lang/String;
3 8 3 bp Lorg/springframework/beans/factory/config/BeanPostProcessor;
5 8 5 ibp Lorg/springframework/beans/factory/config/SmartInstantiationAwareBeanPostProcessor;
6 8 6 ctors [Ljava/lang/reflect/Constructor;
Exceptions:
throws org.springframework.beans.BeansException
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;)[Ljava/lang/reflect/Constructor<*>;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
1:
MethodParameters:
Name Flags
beanClass
beanName
protected org.springframework.beans.BeanWrapper instantiateBean(java.lang.String, org.springframework.beans.factory.support.RootBeanDefinition);
descriptor: (Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;)Lorg/springframework/beans/BeanWrapper;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
astore 4
start local 4 1: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnull 6
2: aload 0
aload 2
aload 1
aload 4
invokedynamic run(Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;Lorg/springframework/beans/factory/support/RootBeanDefinition;Ljava/lang/String;Lorg/springframework/beans/factory/BeanFactory;)Ljava/security/PrivilegedAction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
org/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory.lambda$4(Lorg/springframework/beans/factory/support/RootBeanDefinition;Ljava/lang/String;Lorg/springframework/beans/factory/BeanFactory;)Ljava/lang/Object; (7)
()Ljava/lang/Object;
3: aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getAccessControlContext:()Ljava/security/AccessControlContext;
4: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
astore 3
start local 3 5: goto 7
end local 3 6: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.RootBeanDefinition top org.springframework.beans.factory.BeanFactory
StackMap stack:
aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getInstantiationStrategy:()Lorg/springframework/beans/factory/support/InstantiationStrategy;
aload 2
aload 1
aload 4
invokeinterface org.springframework.beans.factory.support.InstantiationStrategy.instantiate:(Lorg/springframework/beans/factory/support/RootBeanDefinition;Ljava/lang/String;Lorg/springframework/beans/factory/BeanFactory;)Ljava/lang/Object;
astore 3
start local 3 7: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.RootBeanDefinition java.lang.Object org.springframework.beans.factory.BeanFactory
StackMap stack:
new org.springframework.beans.BeanWrapperImpl
dup
aload 3
invokespecial org.springframework.beans.BeanWrapperImpl.<init>:(Ljava/lang/Object;)V
astore 5
start local 5 8: aload 0
aload 5
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initBeanWrapper:(Lorg/springframework/beans/BeanWrapper;)V
9: aload 5
10: areturn
end local 5 end local 4 end local 3 11: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.RootBeanDefinition
StackMap stack: java.lang.Throwable
astore 3
start local 3 12: new org.springframework.beans.factory.BeanCreationException
dup
13: aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getResourceDescription:()Ljava/lang/String;
aload 1
ldc "Instantiation of bean failed"
aload 3
14: invokespecial org.springframework.beans.factory.BeanCreationException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 15 1 beanName Ljava/lang/String;
0 15 2 mbd Lorg/springframework/beans/factory/support/RootBeanDefinition;
5 6 3 beanInstance Ljava/lang/Object;
7 11 3 beanInstance Ljava/lang/Object;
1 11 4 parent Lorg/springframework/beans/factory/BeanFactory;
8 11 5 bw Lorg/springframework/beans/BeanWrapper;
12 15 3 ex Ljava/lang/Throwable;
Exception table:
from to target type
0 10 11 Class java.lang.Throwable
MethodParameters:
Name Flags
beanName final
mbd final
protected org.springframework.beans.BeanWrapper instantiateUsingFactoryMethod(java.lang.String, org.springframework.beans.factory.support.RootBeanDefinition, java.lang.Object[]);
descriptor: (Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;[Ljava/lang/Object;)Lorg/springframework/beans/BeanWrapper;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new org.springframework.beans.factory.support.ConstructorResolver
dup
aload 0
invokespecial org.springframework.beans.factory.support.ConstructorResolver.<init>:(Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;)V
aload 1
aload 2
aload 3
invokevirtual org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod:(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;[Ljava/lang/Object;)Lorg/springframework/beans/BeanWrapper;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 1 1 beanName Ljava/lang/String;
0 1 2 mbd Lorg/springframework/beans/factory/support/RootBeanDefinition;
0 1 3 explicitArgs [Ljava/lang/Object;
RuntimeVisibleParameterAnnotations:
0:
1:
2:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
beanName
mbd
explicitArgs
protected org.springframework.beans.BeanWrapper autowireConstructor(java.lang.String, org.springframework.beans.factory.support.RootBeanDefinition, java.lang.reflect.Constructor<?>[], []);
descriptor: (Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;[Ljava/lang/reflect/Constructor;[Ljava/lang/Object;)Lorg/springframework/beans/BeanWrapper;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new org.springframework.beans.factory.support.ConstructorResolver
dup
aload 0
invokespecial org.springframework.beans.factory.support.ConstructorResolver.<init>:(Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;)V
aload 1
aload 2
aload 3
aload 4
invokevirtual org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor:(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;[Ljava/lang/reflect/Constructor;[Ljava/lang/Object;)Lorg/springframework/beans/BeanWrapper;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 1 1 beanName Ljava/lang/String;
0 1 2 mbd Lorg/springframework/beans/factory/support/RootBeanDefinition;
0 1 3 ctors [Ljava/lang/reflect/Constructor;
0 1 4 explicitArgs [Ljava/lang/Object;
Signature: (Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;[Ljava/lang/reflect/Constructor<*>;[Ljava/lang/Object;)Lorg/springframework/beans/BeanWrapper;
RuntimeVisibleParameterAnnotations:
0:
1:
2:
org.springframework.lang.Nullable()
3:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
beanName
mbd
ctors
explicitArgs
protected void populateBean(java.lang.String, org.springframework.beans.factory.support.RootBeanDefinition, org.springframework.beans.BeanWrapper);
descriptor: (Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;Lorg/springframework/beans/BeanWrapper;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
ifnonnull 6
1: aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.hasPropertyValues:()Z
ifeq 5
2: new org.springframework.beans.factory.BeanCreationException
dup
3: aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getResourceDescription:()Ljava/lang/String;
aload 1
ldc "Cannot apply property values to null instance"
4: invokespecial org.springframework.beans.factory.BeanCreationException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
return
6: StackMap locals:
StackMap stack:
iconst_1
istore 4
start local 4 7: aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.isSynthetic:()Z
ifne 16
aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.hasInstantiationAwareBeanPostProcessors:()Z
ifeq 16
8: aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getBeanPostProcessors:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 15
StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.RootBeanDefinition org.springframework.beans.BeanWrapper int top java.util.Iterator
StackMap stack:
9: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.springframework.beans.factory.config.BeanPostProcessor
astore 5
start local 5 10: aload 5
instanceof org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessor
ifeq 15
11: aload 5
checkcast org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessor
astore 7
start local 7 12: aload 7
aload 3
invokeinterface org.springframework.beans.BeanWrapper.getWrappedInstance:()Ljava/lang/Object;
aload 1
invokeinterface org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessor.postProcessAfterInstantiation:(Ljava/lang/Object;Ljava/lang/String;)Z
ifne 15
13: iconst_0
istore 4
14: goto 16
end local 7 end local 5 15: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
16: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.RootBeanDefinition org.springframework.beans.BeanWrapper int
StackMap stack:
iload 4
ifne 18
17: return
18: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.hasPropertyValues:()Z
ifeq 19
aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getPropertyValues:()Lorg/springframework/beans/MutablePropertyValues;
goto 20
StackMap locals:
StackMap stack:
19: aconst_null
StackMap locals:
StackMap stack: org.springframework.beans.MutablePropertyValues
20: astore 5
start local 5 21: aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getResolvedAutowireMode:()I
iconst_1
if_icmpeq 22
aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getResolvedAutowireMode:()I
iconst_2
if_icmpne 28
22: StackMap locals: org.springframework.beans.PropertyValues
StackMap stack:
new org.springframework.beans.MutablePropertyValues
dup
aload 5
invokespecial org.springframework.beans.MutablePropertyValues.<init>:(Lorg/springframework/beans/PropertyValues;)V
astore 6
start local 6 23: aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getResolvedAutowireMode:()I
iconst_1
if_icmpne 25
24: aload 0
aload 1
aload 2
aload 3
aload 6
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByName:(Ljava/lang/String;Lorg/springframework/beans/factory/support/AbstractBeanDefinition;Lorg/springframework/beans/BeanWrapper;Lorg/springframework/beans/MutablePropertyValues;)V
25: StackMap locals: org.springframework.beans.MutablePropertyValues
StackMap stack:
aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getResolvedAutowireMode:()I
iconst_2
if_icmpne 27
26: aload 0
aload 1
aload 2
aload 3
aload 6
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByType:(Ljava/lang/String;Lorg/springframework/beans/factory/support/AbstractBeanDefinition;Lorg/springframework/beans/BeanWrapper;Lorg/springframework/beans/MutablePropertyValues;)V
27: StackMap locals:
StackMap stack:
aload 6
astore 5
end local 6 28: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.hasInstantiationAwareBeanPostProcessors:()Z
istore 6
start local 6 29: aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getDependencyCheck:()I
ifeq 30
iconst_1
goto 31
StackMap locals: int
StackMap stack:
30: iconst_0
StackMap locals:
StackMap stack: int
31: istore 7
start local 7 32: aconst_null
astore 8
start local 8 33: iload 6
ifeq 49
34: aload 5
ifnonnull 36
35: aload 2
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getPropertyValues:()Lorg/springframework/beans/MutablePropertyValues;
astore 5
36: StackMap locals: int java.beans.PropertyDescriptor[]
StackMap stack:
aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getBeanPostProcessors:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 10
goto 48
StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.RootBeanDefinition org.springframework.beans.BeanWrapper int org.springframework.beans.PropertyValues int int java.beans.PropertyDescriptor[] top java.util.Iterator
StackMap stack:
37: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.springframework.beans.factory.config.BeanPostProcessor
astore 9
start local 9 38: aload 9
instanceof org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessor
ifeq 48
39: aload 9
checkcast org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessor
astore 11
start local 11 40: aload 11
aload 5
aload 3
invokeinterface org.springframework.beans.BeanWrapper.getWrappedInstance:()Ljava/lang/Object;
aload 1
invokeinterface org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessor.postProcessProperties:(Lorg/springframework/beans/PropertyValues;Ljava/lang/Object;Ljava/lang/String;)Lorg/springframework/beans/PropertyValues;
astore 12
start local 12 41: aload 12
ifnonnull 47
42: aload 8
ifnonnull 44
43: aload 0
aload 3
aload 2
getfield org.springframework.beans.factory.support.RootBeanDefinition.allowCaching:Z
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.filterPropertyDescriptorsForDependencyCheck:(Lorg/springframework/beans/BeanWrapper;Z)[Ljava/beans/PropertyDescriptor;
astore 8
44: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.RootBeanDefinition org.springframework.beans.BeanWrapper int org.springframework.beans.PropertyValues int int java.beans.PropertyDescriptor[] org.springframework.beans.factory.config.BeanPostProcessor java.util.Iterator org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessor org.springframework.beans.PropertyValues
StackMap stack:
aload 11
aload 5
aload 8
aload 3
invokeinterface org.springframework.beans.BeanWrapper.getWrappedInstance:()Ljava/lang/Object;
aload 1
invokeinterface org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessor.postProcessPropertyValues:(Lorg/springframework/beans/PropertyValues;[Ljava/beans/PropertyDescriptor;Ljava/lang/Object;Ljava/lang/String;)Lorg/springframework/beans/PropertyValues;
astore 12
45: aload 12
ifnonnull 47
46: return
47: StackMap locals:
StackMap stack:
aload 12
astore 5
end local 12 end local 11 end local 9 48: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.RootBeanDefinition org.springframework.beans.BeanWrapper int org.springframework.beans.PropertyValues int int java.beans.PropertyDescriptor[] top java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 37
49: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.RootBeanDefinition org.springframework.beans.BeanWrapper int org.springframework.beans.PropertyValues int int java.beans.PropertyDescriptor[]
StackMap stack:
iload 7
ifeq 53
50: aload 8
ifnonnull 52
51: aload 0
aload 3
aload 2
getfield org.springframework.beans.factory.support.RootBeanDefinition.allowCaching:Z
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.filterPropertyDescriptorsForDependencyCheck:(Lorg/springframework/beans/BeanWrapper;Z)[Ljava/beans/PropertyDescriptor;
astore 8
52: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 8
aload 5
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.checkDependencies:(Ljava/lang/String;Lorg/springframework/beans/factory/support/AbstractBeanDefinition;[Ljava/beans/PropertyDescriptor;Lorg/springframework/beans/PropertyValues;)V
53: StackMap locals:
StackMap stack:
aload 5
ifnull 55
54: aload 0
aload 1
aload 2
aload 3
aload 5
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues:(Ljava/lang/String;Lorg/springframework/beans/factory/config/BeanDefinition;Lorg/springframework/beans/BeanWrapper;Lorg/springframework/beans/PropertyValues;)V
55: StackMap locals:
StackMap stack:
return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 56 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 56 1 beanName Ljava/lang/String;
0 56 2 mbd Lorg/springframework/beans/factory/support/RootBeanDefinition;
0 56 3 bw Lorg/springframework/beans/BeanWrapper;
7 56 4 continueWithPropertyPopulation Z
10 15 5 bp Lorg/springframework/beans/factory/config/BeanPostProcessor;
12 15 7 ibp Lorg/springframework/beans/factory/config/InstantiationAwareBeanPostProcessor;
21 56 5 pvs Lorg/springframework/beans/PropertyValues;
23 28 6 newPvs Lorg/springframework/beans/MutablePropertyValues;
29 56 6 hasInstAwareBpps Z
32 56 7 needsDepCheck Z
33 56 8 filteredPds [Ljava/beans/PropertyDescriptor;
38 48 9 bp Lorg/springframework/beans/factory/config/BeanPostProcessor;
40 48 11 ibp Lorg/springframework/beans/factory/config/InstantiationAwareBeanPostProcessor;
41 48 12 pvsToUse Lorg/springframework/beans/PropertyValues;
RuntimeVisibleParameterAnnotations:
0:
1:
2:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
beanName
mbd
bw
protected void autowireByName(java.lang.String, org.springframework.beans.factory.support.AbstractBeanDefinition, org.springframework.beans.BeanWrapper, org.springframework.beans.MutablePropertyValues);
descriptor: (Ljava/lang/String;Lorg/springframework/beans/factory/support/AbstractBeanDefinition;Lorg/springframework/beans/BeanWrapper;Lorg/springframework/beans/MutablePropertyValues;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 2
aload 3
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.unsatisfiedNonSimpleProperties:(Lorg/springframework/beans/factory/support/AbstractBeanDefinition;Lorg/springframework/beans/BeanWrapper;)[Ljava/lang/String;
astore 5
start local 5 1: aload 5
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 17
StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.AbstractBeanDefinition org.springframework.beans.BeanWrapper org.springframework.beans.MutablePropertyValues java.lang.String[] top int int java.lang.String[]
StackMap stack:
2: aload 9
iload 7
aaload
astore 6
start local 6 3: aload 0
aload 6
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.containsBean:(Ljava/lang/String;)Z
ifeq 12
4: aload 0
aload 6
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getBean:(Ljava/lang/String;)Ljava/lang/Object;
astore 10
start local 10 5: aload 4
aload 6
aload 10
invokevirtual org.springframework.beans.MutablePropertyValues.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/springframework/beans/MutablePropertyValues;
pop
6: aload 0
aload 6
aload 1
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.registerDependentBean:(Ljava/lang/String;Ljava/lang/String;)V
7: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 16
8: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Added autowiring by name from bean name '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: ldc "' via property '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "' to bean named '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
end local 10 11: goto 16
12: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.AbstractBeanDefinition org.springframework.beans.BeanWrapper org.springframework.beans.MutablePropertyValues java.lang.String[] java.lang.String int int java.lang.String[]
StackMap stack:
aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 16
13: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Not autowiring property '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "' of bean '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
14: ldc "' by name: no matching bean found"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
15: invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
end local 6 16: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.AbstractBeanDefinition org.springframework.beans.BeanWrapper org.springframework.beans.MutablePropertyValues java.lang.String[] top int int java.lang.String[]
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
17: iload 7
iload 8
if_icmplt 2
18: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 19 1 beanName Ljava/lang/String;
0 19 2 mbd Lorg/springframework/beans/factory/support/AbstractBeanDefinition;
0 19 3 bw Lorg/springframework/beans/BeanWrapper;
0 19 4 pvs Lorg/springframework/beans/MutablePropertyValues;
1 19 5 propertyNames [Ljava/lang/String;
3 16 6 propertyName Ljava/lang/String;
5 11 10 bean Ljava/lang/Object;
MethodParameters:
Name Flags
beanName
mbd
bw
pvs
protected void autowireByType(java.lang.String, org.springframework.beans.factory.support.AbstractBeanDefinition, org.springframework.beans.BeanWrapper, org.springframework.beans.MutablePropertyValues);
descriptor: (Ljava/lang/String;Lorg/springframework/beans/factory/support/AbstractBeanDefinition;Lorg/springframework/beans/BeanWrapper;Lorg/springframework/beans/MutablePropertyValues;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=19, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getCustomTypeConverter:()Lorg/springframework/beans/TypeConverter;
astore 5
start local 5 1: aload 5
ifnonnull 3
2: aload 3
astore 5
3: StackMap locals: org.springframework.beans.TypeConverter
StackMap stack:
new java.util.LinkedHashSet
dup
iconst_4
invokespecial java.util.LinkedHashSet.<init>:(I)V
astore 6
start local 6 4: aload 0
aload 2
aload 3
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.unsatisfiedNonSimpleProperties:(Lorg/springframework/beans/factory/support/AbstractBeanDefinition;Lorg/springframework/beans/BeanWrapper;)[Ljava/lang/String;
astore 7
start local 7 5: aload 7
dup
astore 11
arraylength
istore 10
iconst_0
istore 9
goto 30
StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.AbstractBeanDefinition org.springframework.beans.BeanWrapper org.springframework.beans.MutablePropertyValues org.springframework.beans.TypeConverter java.util.Set java.lang.String[] top int int java.lang.String[]
StackMap stack:
6: aload 11
iload 9
aaload
astore 8
start local 8 7: aload 3
aload 8
invokeinterface org.springframework.beans.BeanWrapper.getPropertyDescriptor:(Ljava/lang/String;)Ljava/beans/PropertyDescriptor;
astore 12
start local 12 8: ldc Ljava/lang/Object;
aload 12
invokevirtual java.beans.PropertyDescriptor.getPropertyType:()Ljava/lang/Class;
if_acmpeq 29
9: aload 12
invokestatic org.springframework.beans.BeanUtils.getWriteMethodParameter:(Ljava/beans/PropertyDescriptor;)Lorg/springframework/core/MethodParameter;
astore 13
start local 13 10: ldc Lorg/springframework/core/PriorityOrdered;
aload 3
invokeinterface org.springframework.beans.BeanWrapper.getWrappedInstance:()Ljava/lang/Object;
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifeq 11
iconst_0
goto 12
StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.AbstractBeanDefinition org.springframework.beans.BeanWrapper org.springframework.beans.MutablePropertyValues org.springframework.beans.TypeConverter java.util.Set java.lang.String[] java.lang.String int int java.lang.String[] java.beans.PropertyDescriptor org.springframework.core.MethodParameter
StackMap stack:
11: iconst_1
StackMap locals:
StackMap stack: int
12: istore 14
start local 14 13: new org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$AutowireByTypeDependencyDescriptor
dup
aload 13
iload 14
invokespecial org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$AutowireByTypeDependencyDescriptor.<init>:(Lorg/springframework/core/MethodParameter;Z)V
astore 15
start local 15 14: aload 0
aload 15
aload 1
aload 6
aload 5
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveDependency:(Lorg/springframework/beans/factory/config/DependencyDescriptor;Ljava/lang/String;Ljava/util/Set;Lorg/springframework/beans/TypeConverter;)Ljava/lang/Object;
astore 16
start local 16 15: aload 16
ifnull 17
16: aload 4
aload 8
aload 16
invokevirtual org.springframework.beans.MutablePropertyValues.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/springframework/beans/MutablePropertyValues;
pop
17: StackMap locals: int org.springframework.beans.factory.config.DependencyDescriptor java.lang.Object
StackMap stack:
aload 6
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 18
goto 24
StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.AbstractBeanDefinition org.springframework.beans.BeanWrapper org.springframework.beans.MutablePropertyValues org.springframework.beans.TypeConverter java.util.Set java.lang.String[] java.lang.String int int java.lang.String[] java.beans.PropertyDescriptor org.springframework.core.MethodParameter int org.springframework.beans.factory.config.DependencyDescriptor java.lang.Object top java.util.Iterator
StackMap stack:
18: aload 18
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 17
start local 17 19: aload 0
aload 17
aload 1
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.registerDependentBean:(Ljava/lang/String;Ljava/lang/String;)V
20: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 24
21: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Autowiring by type from bean name '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "' via property '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
22: aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "' to bean named '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 17
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
23: invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
end local 17 24: StackMap locals:
StackMap stack:
aload 18
invokeinterface java.util.Iterator.hasNext:()Z
ifne 18
25: aload 6
invokeinterface java.util.Set.clear:()V
end local 16 end local 15 end local 14 end local 13 end local 12 26: goto 29
27: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.AbstractBeanDefinition org.springframework.beans.BeanWrapper org.springframework.beans.MutablePropertyValues org.springframework.beans.TypeConverter java.util.Set java.lang.String[] java.lang.String int int java.lang.String[]
StackMap stack: org.springframework.beans.BeansException
astore 12
start local 12 28: new org.springframework.beans.factory.UnsatisfiedDependencyException
dup
aload 2
invokevirtual org.springframework.beans.factory.support.AbstractBeanDefinition.getResourceDescription:()Ljava/lang/String;
aload 1
aload 8
aload 12
invokespecial org.springframework.beans.factory.UnsatisfiedDependencyException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/springframework/beans/BeansException;)V
athrow
end local 12 end local 8 29: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.AbstractBeanDefinition org.springframework.beans.BeanWrapper org.springframework.beans.MutablePropertyValues org.springframework.beans.TypeConverter java.util.Set java.lang.String[] top int int java.lang.String[]
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
30: iload 9
iload 10
if_icmplt 6
31: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 32 1 beanName Ljava/lang/String;
0 32 2 mbd Lorg/springframework/beans/factory/support/AbstractBeanDefinition;
0 32 3 bw Lorg/springframework/beans/BeanWrapper;
0 32 4 pvs Lorg/springframework/beans/MutablePropertyValues;
1 32 5 converter Lorg/springframework/beans/TypeConverter;
4 32 6 autowiredBeanNames Ljava/util/Set<Ljava/lang/String;>;
5 32 7 propertyNames [Ljava/lang/String;
7 29 8 propertyName Ljava/lang/String;
8 26 12 pd Ljava/beans/PropertyDescriptor;
10 26 13 methodParam Lorg/springframework/core/MethodParameter;
13 26 14 eager Z
14 26 15 desc Lorg/springframework/beans/factory/config/DependencyDescriptor;
15 26 16 autowiredArgument Ljava/lang/Object;
19 24 17 autowiredBeanName Ljava/lang/String;
28 29 12 ex Lorg/springframework/beans/BeansException;
Exception table:
from to target type
7 26 27 Class org.springframework.beans.BeansException
MethodParameters:
Name Flags
beanName
mbd
bw
pvs
protected java.lang.String[] unsatisfiedNonSimpleProperties(org.springframework.beans.factory.support.AbstractBeanDefinition, org.springframework.beans.BeanWrapper);
descriptor: (Lorg/springframework/beans/factory/support/AbstractBeanDefinition;Lorg/springframework/beans/BeanWrapper;)[Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=10, args_size=3
start local 0 start local 1 start local 2 0: new java.util.TreeSet
dup
invokespecial java.util.TreeSet.<init>:()V
astore 3
start local 3 1: aload 1
invokevirtual org.springframework.beans.factory.support.AbstractBeanDefinition.getPropertyValues:()Lorg/springframework/beans/MutablePropertyValues;
astore 4
start local 4 2: aload 2
invokeinterface org.springframework.beans.BeanWrapper.getPropertyDescriptors:()[Ljava/beans/PropertyDescriptor;
astore 5
start local 5 3: aload 5
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 9
StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory org.springframework.beans.factory.support.AbstractBeanDefinition org.springframework.beans.BeanWrapper java.util.Set org.springframework.beans.PropertyValues java.beans.PropertyDescriptor[] top int int java.beans.PropertyDescriptor[]
StackMap stack:
4: aload 9
iload 7
aaload
astore 6
start local 6 5: aload 6
invokevirtual java.beans.PropertyDescriptor.getWriteMethod:()Ljava/lang/reflect/Method;
ifnull 8
aload 0
aload 6
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.isExcludedFromDependencyCheck:(Ljava/beans/PropertyDescriptor;)Z
ifne 8
aload 4
aload 6
invokevirtual java.beans.PropertyDescriptor.getName:()Ljava/lang/String;
invokeinterface org.springframework.beans.PropertyValues.contains:(Ljava/lang/String;)Z
ifne 8
6: aload 6
invokevirtual java.beans.PropertyDescriptor.getPropertyType:()Ljava/lang/Class;
invokestatic org.springframework.beans.BeanUtils.isSimpleProperty:(Ljava/lang/Class;)Z
ifne 8
7: aload 3
aload 6
invokevirtual java.beans.PropertyDescriptor.getName:()Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 6 8: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
9: iload 7
iload 8
if_icmplt 4
10: aload 3
invokestatic org.springframework.util.StringUtils.toStringArray:(Ljava/util/Collection;)[Ljava/lang/String;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 11 1 mbd Lorg/springframework/beans/factory/support/AbstractBeanDefinition;
0 11 2 bw Lorg/springframework/beans/BeanWrapper;
1 11 3 result Ljava/util/Set<Ljava/lang/String;>;
2 11 4 pvs Lorg/springframework/beans/PropertyValues;
3 11 5 pds [Ljava/beans/PropertyDescriptor;
5 8 6 pd Ljava/beans/PropertyDescriptor;
MethodParameters:
Name Flags
mbd
bw
protected java.beans.PropertyDescriptor[] filterPropertyDescriptorsForDependencyCheck(org.springframework.beans.BeanWrapper, boolean);
descriptor: (Lorg/springframework/beans/BeanWrapper;Z)[Ljava/beans/PropertyDescriptor;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.filteredPropertyDescriptorsCache:Ljava/util/concurrent/ConcurrentMap;
aload 1
invokeinterface org.springframework.beans.BeanWrapper.getWrappedClass:()Ljava/lang/Class;
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.beans.PropertyDescriptor[]
astore 3
start local 3 1: aload 3
ifnonnull 8
2: aload 0
aload 1
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.filterPropertyDescriptorsForDependencyCheck:(Lorg/springframework/beans/BeanWrapper;)[Ljava/beans/PropertyDescriptor;
astore 3
3: iload 2
ifeq 8
4: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.filteredPropertyDescriptorsCache:Ljava/util/concurrent/ConcurrentMap;
aload 1
invokeinterface org.springframework.beans.BeanWrapper.getWrappedClass:()Ljava/lang/Class;
aload 3
invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.beans.PropertyDescriptor[]
5: astore 4
start local 4 6: aload 4
ifnull 8
7: aload 4
astore 3
end local 4 8: StackMap locals: java.beans.PropertyDescriptor[]
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 9 1 bw Lorg/springframework/beans/BeanWrapper;
0 9 2 cache Z
1 9 3 filtered [Ljava/beans/PropertyDescriptor;
6 8 4 existing [Ljava/beans/PropertyDescriptor;
MethodParameters:
Name Flags
bw
cache
protected java.beans.PropertyDescriptor[] filterPropertyDescriptorsForDependencyCheck(org.springframework.beans.BeanWrapper);
descriptor: (Lorg/springframework/beans/BeanWrapper;)[Ljava/beans/PropertyDescriptor;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
aload 1
invokeinterface org.springframework.beans.BeanWrapper.getPropertyDescriptors:()[Ljava/beans/PropertyDescriptor;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 2
start local 2 1: aload 2
aload 0
invokedynamic test(Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;)Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
org/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory.isExcludedFromDependencyCheck(Ljava/beans/PropertyDescriptor;)Z (5)
(Ljava/beans/PropertyDescriptor;)Z
invokeinterface java.util.List.removeIf:(Ljava/util/function/Predicate;)Z
pop
2: aload 2
iconst_0
anewarray java.beans.PropertyDescriptor
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.beans.PropertyDescriptor[]
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 3 1 bw Lorg/springframework/beans/BeanWrapper;
1 3 2 pds Ljava/util/List<Ljava/beans/PropertyDescriptor;>;
MethodParameters:
Name Flags
bw
protected boolean isExcludedFromDependencyCheck(java.beans.PropertyDescriptor);
descriptor: (Ljava/beans/PropertyDescriptor;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.springframework.beans.factory.support.AutowireUtils.isExcludedFromDependencyCheck:(Ljava/beans/PropertyDescriptor;)Z
ifne 4
1: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.ignoredDependencyTypes:Ljava/util/Set;
aload 1
invokevirtual java.beans.PropertyDescriptor.getPropertyType:()Ljava/lang/Class;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 4
2: aload 1
aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.ignoredDependencyInterfaces:Ljava/util/Set;
invokestatic org.springframework.beans.factory.support.AutowireUtils.isSetterDefinedInInterface:(Ljava/beans/PropertyDescriptor;Ljava/util/Set;)Z
ifne 4
3: iconst_0
ireturn
StackMap locals:
StackMap stack:
4: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 5 1 pd Ljava/beans/PropertyDescriptor;
MethodParameters:
Name Flags
pd
protected void checkDependencies(java.lang.String, org.springframework.beans.factory.support.AbstractBeanDefinition, java.beans.PropertyDescriptor[], org.springframework.beans.PropertyValues);
descriptor: (Ljava/lang/String;Lorg/springframework/beans/factory/support/AbstractBeanDefinition;[Ljava/beans/PropertyDescriptor;Lorg/springframework/beans/PropertyValues;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=12, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
invokevirtual org.springframework.beans.factory.support.AbstractBeanDefinition.getDependencyCheck:()I
istore 5
start local 5 1: aload 3
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 16
StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.AbstractBeanDefinition java.beans.PropertyDescriptor[] org.springframework.beans.PropertyValues int top int int java.beans.PropertyDescriptor[]
StackMap stack:
2: aload 9
iload 7
aaload
astore 6
start local 6 3: aload 6
invokevirtual java.beans.PropertyDescriptor.getWriteMethod:()Ljava/lang/reflect/Method;
ifnull 15
aload 4
ifnull 4
aload 4
aload 6
invokevirtual java.beans.PropertyDescriptor.getName:()Ljava/lang/String;
invokeinterface org.springframework.beans.PropertyValues.contains:(Ljava/lang/String;)Z
ifne 15
4: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.AbstractBeanDefinition java.beans.PropertyDescriptor[] org.springframework.beans.PropertyValues int java.beans.PropertyDescriptor int int java.beans.PropertyDescriptor[]
StackMap stack:
aload 6
invokevirtual java.beans.PropertyDescriptor.getPropertyType:()Ljava/lang/Class;
invokestatic org.springframework.beans.BeanUtils.isSimpleProperty:(Ljava/lang/Class;)Z
istore 10
start local 10 5: iload 5
iconst_3
if_icmpeq 9
6: iload 10
ifeq 7
iload 5
iconst_2
if_icmpeq 9
7: StackMap locals: int
StackMap stack:
iload 10
ifne 8
iload 5
iconst_1
if_icmpeq 9
8: StackMap locals:
StackMap stack:
iconst_0
goto 10
StackMap locals:
StackMap stack:
9: iconst_1
StackMap locals:
StackMap stack: int
10: istore 11
start local 11 11: iload 11
ifeq 15
12: new org.springframework.beans.factory.UnsatisfiedDependencyException
dup
aload 2
invokevirtual org.springframework.beans.factory.support.AbstractBeanDefinition.getResourceDescription:()Ljava/lang/String;
aload 1
aload 6
invokevirtual java.beans.PropertyDescriptor.getName:()Ljava/lang/String;
13: ldc "Set this property value or disable dependency checking for this bean."
14: invokespecial org.springframework.beans.factory.UnsatisfiedDependencyException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
athrow
end local 11 end local 10 end local 6 15: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.support.AbstractBeanDefinition java.beans.PropertyDescriptor[] org.springframework.beans.PropertyValues int top int int java.beans.PropertyDescriptor[]
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
16: iload 7
iload 8
if_icmplt 2
17: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 18 1 beanName Ljava/lang/String;
0 18 2 mbd Lorg/springframework/beans/factory/support/AbstractBeanDefinition;
0 18 3 pds [Ljava/beans/PropertyDescriptor;
0 18 4 pvs Lorg/springframework/beans/PropertyValues;
1 18 5 dependencyCheck I
3 15 6 pd Ljava/beans/PropertyDescriptor;
5 15 10 isSimple Z
11 15 11 unsatisfied Z
Exceptions:
throws org.springframework.beans.factory.UnsatisfiedDependencyException
RuntimeVisibleParameterAnnotations:
0:
1:
2:
3:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
beanName
mbd
pds
pvs
protected void applyPropertyValues(java.lang.String, org.springframework.beans.factory.config.BeanDefinition, org.springframework.beans.BeanWrapper, org.springframework.beans.PropertyValues);
descriptor: (Ljava/lang/String;Lorg/springframework/beans/factory/config/BeanDefinition;Lorg/springframework/beans/BeanWrapper;Lorg/springframework/beans/PropertyValues;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=18, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
invokeinterface org.springframework.beans.PropertyValues.isEmpty:()Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnull 4
aload 3
instanceof org.springframework.beans.BeanWrapperImpl
ifeq 4
3: aload 3
checkcast org.springframework.beans.BeanWrapperImpl
aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getAccessControlContext:()Ljava/security/AccessControlContext;
invokevirtual org.springframework.beans.BeanWrapperImpl.setSecurityContext:(Ljava/security/AccessControlContext;)V
4: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 5: aload 4
instanceof org.springframework.beans.MutablePropertyValues
ifeq 16
6: aload 4
checkcast org.springframework.beans.MutablePropertyValues
astore 5
7: aload 5
invokevirtual org.springframework.beans.MutablePropertyValues.isConverted:()Z
ifeq 14
8: aload 3
aload 5
invokeinterface org.springframework.beans.BeanWrapper.setPropertyValues:(Lorg/springframework/beans/PropertyValues;)V
9: return
10: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.config.BeanDefinition org.springframework.beans.BeanWrapper org.springframework.beans.PropertyValues org.springframework.beans.MutablePropertyValues
StackMap stack: org.springframework.beans.BeansException
astore 7
start local 7 11: new org.springframework.beans.factory.BeanCreationException
dup
12: aload 2
invokeinterface org.springframework.beans.factory.config.BeanDefinition.getResourceDescription:()Ljava/lang/String;
aload 1
ldc "Error setting property values"
aload 7
13: invokespecial org.springframework.beans.factory.BeanCreationException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 14: StackMap locals:
StackMap stack:
aload 5
invokevirtual org.springframework.beans.MutablePropertyValues.getPropertyValueList:()Ljava/util/List;
astore 6
start local 6 15: goto 17
end local 6 16: StackMap locals:
StackMap stack:
aload 4
invokeinterface org.springframework.beans.PropertyValues.getPropertyValues:()[Lorg/springframework/beans/PropertyValue;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
astore 6
start local 6 17: StackMap locals: java.util.List
StackMap stack:
aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getCustomTypeConverter:()Lorg/springframework/beans/TypeConverter;
astore 7
start local 7 18: aload 7
ifnonnull 20
19: aload 3
astore 7
20: StackMap locals: org.springframework.beans.TypeConverter
StackMap stack:
new org.springframework.beans.factory.support.BeanDefinitionValueResolver
dup
aload 0
aload 1
aload 2
aload 7
invokespecial org.springframework.beans.factory.support.BeanDefinitionValueResolver.<init>:(Lorg/springframework/beans/factory/support/AbstractBeanFactory;Ljava/lang/String;Lorg/springframework/beans/factory/config/BeanDefinition;Lorg/springframework/beans/TypeConverter;)V
astore 8
start local 8 21: new java.util.ArrayList
dup
aload 6
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 9
start local 9 22: iconst_0
istore 10
start local 10 23: aload 6
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 12
goto 52
StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.config.BeanDefinition org.springframework.beans.BeanWrapper org.springframework.beans.PropertyValues org.springframework.beans.MutablePropertyValues java.util.List org.springframework.beans.TypeConverter org.springframework.beans.factory.support.BeanDefinitionValueResolver java.util.List int top java.util.Iterator
StackMap stack:
24: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.springframework.beans.PropertyValue
astore 11
start local 11 25: aload 11
invokevirtual org.springframework.beans.PropertyValue.isConverted:()Z
ifeq 28
26: aload 9
aload 11
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
27: goto 52
28: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.config.BeanDefinition org.springframework.beans.BeanWrapper org.springframework.beans.PropertyValues org.springframework.beans.MutablePropertyValues java.util.List org.springframework.beans.TypeConverter org.springframework.beans.factory.support.BeanDefinitionValueResolver java.util.List int org.springframework.beans.PropertyValue java.util.Iterator
StackMap stack:
aload 11
invokevirtual org.springframework.beans.PropertyValue.getName:()Ljava/lang/String;
astore 13
start local 13 29: aload 11
invokevirtual org.springframework.beans.PropertyValue.getValue:()Ljava/lang/Object;
astore 14
start local 14 30: aload 8
aload 11
aload 14
invokevirtual org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
astore 15
start local 15 31: aload 15
astore 16
start local 16 32: aload 3
aload 13
invokeinterface org.springframework.beans.BeanWrapper.isWritableProperty:(Ljava/lang/String;)Z
ifeq 35
33: aload 13
invokestatic org.springframework.beans.PropertyAccessorUtils.isNestedOrIndexedProperty:(Ljava/lang/String;)Z
ifne 35
34: iconst_1
goto 36
StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.config.BeanDefinition org.springframework.beans.BeanWrapper org.springframework.beans.PropertyValues org.springframework.beans.MutablePropertyValues java.util.List org.springframework.beans.TypeConverter org.springframework.beans.factory.support.BeanDefinitionValueResolver java.util.List int org.springframework.beans.PropertyValue java.util.Iterator java.lang.String java.lang.Object java.lang.Object java.lang.Object
StackMap stack:
35: iconst_0
StackMap locals:
StackMap stack: int
36: istore 17
start local 17 37: iload 17
ifeq 39
38: aload 0
aload 15
aload 13
aload 3
aload 7
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.convertForProperty:(Ljava/lang/Object;Ljava/lang/String;Lorg/springframework/beans/BeanWrapper;Lorg/springframework/beans/TypeConverter;)Ljava/lang/Object;
astore 16
39: StackMap locals: int
StackMap stack:
aload 15
aload 14
if_acmpne 44
40: iload 17
ifeq 42
41: aload 11
aload 16
invokevirtual org.springframework.beans.PropertyValue.setConvertedValue:(Ljava/lang/Object;)V
42: StackMap locals:
StackMap stack:
aload 9
aload 11
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
43: goto 52
44: StackMap locals:
StackMap stack:
iload 17
ifeq 50
aload 14
instanceof org.springframework.beans.factory.config.TypedStringValue
ifeq 50
45: aload 14
checkcast org.springframework.beans.factory.config.TypedStringValue
invokevirtual org.springframework.beans.factory.config.TypedStringValue.isDynamic:()Z
ifne 50
46: aload 16
instanceof java.util.Collection
ifne 50
aload 16
invokestatic org.springframework.util.ObjectUtils.isArray:(Ljava/lang/Object;)Z
ifne 50
47: aload 11
aload 16
invokevirtual org.springframework.beans.PropertyValue.setConvertedValue:(Ljava/lang/Object;)V
48: aload 9
aload 11
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
49: goto 52
50: StackMap locals:
StackMap stack:
iconst_1
istore 10
51: aload 9
new org.springframework.beans.PropertyValue
dup
aload 11
aload 16
invokespecial org.springframework.beans.PropertyValue.<init>:(Lorg/springframework/beans/PropertyValue;Ljava/lang/Object;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 17 end local 16 end local 15 end local 14 end local 13 end local 11 52: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.config.BeanDefinition org.springframework.beans.BeanWrapper org.springframework.beans.PropertyValues org.springframework.beans.MutablePropertyValues java.util.List org.springframework.beans.TypeConverter org.springframework.beans.factory.support.BeanDefinitionValueResolver java.util.List int top java.util.Iterator
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 24
53: aload 5
ifnull 55
iload 10
ifne 55
54: aload 5
invokevirtual org.springframework.beans.MutablePropertyValues.setConverted:()V
55: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String org.springframework.beans.factory.config.BeanDefinition org.springframework.beans.BeanWrapper org.springframework.beans.PropertyValues org.springframework.beans.MutablePropertyValues java.util.List org.springframework.beans.TypeConverter org.springframework.beans.factory.support.BeanDefinitionValueResolver java.util.List int
StackMap stack:
aload 3
new org.springframework.beans.MutablePropertyValues
dup
aload 9
invokespecial org.springframework.beans.MutablePropertyValues.<init>:(Ljava/util/List;)V
invokeinterface org.springframework.beans.BeanWrapper.setPropertyValues:(Lorg/springframework/beans/PropertyValues;)V
56: goto 61
57: StackMap locals:
StackMap stack: org.springframework.beans.BeansException
astore 11
start local 11 58: new org.springframework.beans.factory.BeanCreationException
dup
59: aload 2
invokeinterface org.springframework.beans.factory.config.BeanDefinition.getResourceDescription:()Ljava/lang/String;
aload 1
ldc "Error setting property values"
aload 11
60: invokespecial org.springframework.beans.factory.BeanCreationException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 11 61: StackMap locals:
StackMap stack:
return
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 62 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 62 1 beanName Ljava/lang/String;
0 62 2 mbd Lorg/springframework/beans/factory/config/BeanDefinition;
0 62 3 bw Lorg/springframework/beans/BeanWrapper;
0 62 4 pvs Lorg/springframework/beans/PropertyValues;
5 62 5 mpvs Lorg/springframework/beans/MutablePropertyValues;
15 16 6 original Ljava/util/List<Lorg/springframework/beans/PropertyValue;>;
17 62 6 original Ljava/util/List<Lorg/springframework/beans/PropertyValue;>;
11 14 7 ex Lorg/springframework/beans/BeansException;
18 62 7 converter Lorg/springframework/beans/TypeConverter;
21 62 8 valueResolver Lorg/springframework/beans/factory/support/BeanDefinitionValueResolver;
22 62 9 deepCopy Ljava/util/List<Lorg/springframework/beans/PropertyValue;>;
23 62 10 resolveNecessary Z
25 52 11 pv Lorg/springframework/beans/PropertyValue;
29 52 13 propertyName Ljava/lang/String;
30 52 14 originalValue Ljava/lang/Object;
31 52 15 resolvedValue Ljava/lang/Object;
32 52 16 convertedValue Ljava/lang/Object;
37 52 17 convertible Z
58 61 11 ex Lorg/springframework/beans/BeansException;
Exception table:
from to target type
8 9 10 Class org.springframework.beans.BeansException
55 56 57 Class org.springframework.beans.BeansException
MethodParameters:
Name Flags
beanName
mbd
bw
pvs
private java.lang.Object convertForProperty(java.lang.Object, java.lang.String, org.springframework.beans.BeanWrapper, org.springframework.beans.TypeConverter);
descriptor: (Ljava/lang/Object;Ljava/lang/String;Lorg/springframework/beans/BeanWrapper;Lorg/springframework/beans/TypeConverter;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
instanceof org.springframework.beans.BeanWrapperImpl
ifeq 2
1: aload 4
checkcast org.springframework.beans.BeanWrapperImpl
aload 1
aload 2
invokevirtual org.springframework.beans.BeanWrapperImpl.convertForProperty:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
areturn
2: StackMap locals:
StackMap stack:
aload 3
aload 2
invokeinterface org.springframework.beans.BeanWrapper.getPropertyDescriptor:(Ljava/lang/String;)Ljava/beans/PropertyDescriptor;
astore 5
start local 5 3: aload 5
invokestatic org.springframework.beans.BeanUtils.getWriteMethodParameter:(Ljava/beans/PropertyDescriptor;)Lorg/springframework/core/MethodParameter;
astore 6
start local 6 4: aload 4
aload 1
aload 5
invokevirtual java.beans.PropertyDescriptor.getPropertyType:()Ljava/lang/Class;
aload 6
invokeinterface org.springframework.beans.TypeConverter.convertIfNecessary:(Ljava/lang/Object;Ljava/lang/Class;Lorg/springframework/core/MethodParameter;)Ljava/lang/Object;
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 5 1 value Ljava/lang/Object;
0 5 2 propertyName Ljava/lang/String;
0 5 3 bw Lorg/springframework/beans/BeanWrapper;
0 5 4 converter Lorg/springframework/beans/TypeConverter;
3 5 5 pd Ljava/beans/PropertyDescriptor;
4 5 6 methodParam Lorg/springframework/core/MethodParameter;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
1:
2:
3:
MethodParameters:
Name Flags
value
propertyName
bw
converter
protected java.lang.Object initializeBean(java.lang.String, java.lang.Object, org.springframework.beans.factory.support.RootBeanDefinition);
descriptor: (Ljava/lang/String;Ljava/lang/Object;Lorg/springframework/beans/factory/support/RootBeanDefinition;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnull 5
1: aload 0
aload 1
aload 2
invokedynamic run(Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;Ljava/lang/String;Ljava/lang/Object;)Ljava/security/PrivilegedAction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
org/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory.lambda$6(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object; (7)
()Ljava/lang/Object;
2: aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getAccessControlContext:()Ljava/security/AccessControlContext;
3: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
pop
4: goto 6
5: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeAwareMethods:(Ljava/lang/String;Ljava/lang/Object;)V
6: StackMap locals:
StackMap stack:
aload 2
astore 4
start local 4 7: aload 3
ifnull 8
aload 3
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.isSynthetic:()Z
ifne 9
8: StackMap locals: java.lang.Object
StackMap stack:
aload 0
aload 4
aload 1
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
astore 4
9: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 4
aload 3
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods:(Ljava/lang/String;Ljava/lang/Object;Lorg/springframework/beans/factory/support/RootBeanDefinition;)V
10: goto 17
11: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
start local 5 12: new org.springframework.beans.factory.BeanCreationException
dup
13: aload 3
ifnull 14
aload 3
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getResourceDescription:()Ljava/lang/String;
goto 15
StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String java.lang.Object org.springframework.beans.factory.support.RootBeanDefinition java.lang.Object java.lang.Throwable
StackMap stack: new 12 new 12
14: aconst_null
15: StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String java.lang.Object org.springframework.beans.factory.support.RootBeanDefinition java.lang.Object java.lang.Throwable
StackMap stack: new 12 new 12 java.lang.String
aload 1
ldc "Invocation of init method failed"
aload 5
16: invokespecial org.springframework.beans.factory.BeanCreationException.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 17: StackMap locals:
StackMap stack:
aload 3
ifnull 18
aload 3
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.isSynthetic:()Z
ifne 19
18: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 1
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
astore 4
19: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 20 1 beanName Ljava/lang/String;
0 20 2 bean Ljava/lang/Object;
0 20 3 mbd Lorg/springframework/beans/factory/support/RootBeanDefinition;
7 20 4 wrappedBean Ljava/lang/Object;
12 17 5 ex Ljava/lang/Throwable;
Exception table:
from to target type
9 10 11 Class java.lang.Throwable
RuntimeVisibleParameterAnnotations:
0:
1:
2:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
beanName final
bean final
mbd
private void invokeAwareMethods(java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof org.springframework.beans.factory.Aware
ifeq 9
1: aload 2
instanceof org.springframework.beans.factory.BeanNameAware
ifeq 3
2: aload 2
checkcast org.springframework.beans.factory.BeanNameAware
aload 1
invokeinterface org.springframework.beans.factory.BeanNameAware.setBeanName:(Ljava/lang/String;)V
3: StackMap locals:
StackMap stack:
aload 2
instanceof org.springframework.beans.factory.BeanClassLoaderAware
ifeq 7
4: aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getBeanClassLoader:()Ljava/lang/ClassLoader;
astore 3
start local 3 5: aload 3
ifnull 7
6: aload 2
checkcast org.springframework.beans.factory.BeanClassLoaderAware
aload 3
invokeinterface org.springframework.beans.factory.BeanClassLoaderAware.setBeanClassLoader:(Ljava/lang/ClassLoader;)V
end local 3 7: StackMap locals:
StackMap stack:
aload 2
instanceof org.springframework.beans.factory.BeanFactoryAware
ifeq 9
8: aload 2
checkcast org.springframework.beans.factory.BeanFactoryAware
aload 0
invokeinterface org.springframework.beans.factory.BeanFactoryAware.setBeanFactory:(Lorg/springframework/beans/factory/BeanFactory;)V
9: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 10 1 beanName Ljava/lang/String;
0 10 2 bean Ljava/lang/Object;
5 7 3 bcl Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
beanName final
bean final
protected void invokeInitMethods(java.lang.String, java.lang.Object, org.springframework.beans.factory.support.RootBeanDefinition);
descriptor: (Ljava/lang/String;Ljava/lang/Object;Lorg/springframework/beans/factory/support/RootBeanDefinition;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
instanceof org.springframework.beans.factory.InitializingBean
istore 4
start local 4 1: iload 4
ifeq 12
aload 3
ifnull 2
aload 3
ldc "afterPropertiesSet"
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.isExternallyManagedInitMethod:(Ljava/lang/String;)Z
ifne 12
2: StackMap locals: int
StackMap stack:
aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 4
3: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Invoking afterPropertiesSet() on bean with name '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
4: StackMap locals:
StackMap stack:
invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnull 11
5: aload 2
invokedynamic run(Ljava/lang/Object;)Ljava/security/PrivilegedExceptionAction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
org/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory.lambda$7(Ljava/lang/Object;)Ljava/lang/Object; (6)
()Ljava/lang/Object;
6: aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getAccessControlContext:()Ljava/security/AccessControlContext;
7: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
pop
8: goto 12
9: StackMap locals:
StackMap stack: java.security.PrivilegedActionException
astore 5
start local 5 10: aload 5
invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
athrow
end local 5 11: StackMap locals:
StackMap stack:
aload 2
checkcast org.springframework.beans.factory.InitializingBean
invokeinterface org.springframework.beans.factory.InitializingBean.afterPropertiesSet:()V
12: StackMap locals:
StackMap stack:
aload 3
ifnull 18
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc Lorg/springframework/beans/factory/support/NullBean;
if_acmpeq 18
13: aload 3
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getInitMethodName:()Ljava/lang/String;
astore 5
start local 5 14: aload 5
invokestatic org.springframework.util.StringUtils.hasLength:(Ljava/lang/String;)Z
ifeq 18
15: iload 4
ifeq 16
ldc "afterPropertiesSet"
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 18
16: StackMap locals: java.lang.String
StackMap stack:
aload 3
aload 5
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.isExternallyManagedInitMethod:(Ljava/lang/String;)Z
ifne 18
17: aload 0
aload 1
aload 2
aload 3
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod:(Ljava/lang/String;Ljava/lang/Object;Lorg/springframework/beans/factory/support/RootBeanDefinition;)V
end local 5 18: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 19 1 beanName Ljava/lang/String;
0 19 2 bean Ljava/lang/Object;
0 19 3 mbd Lorg/springframework/beans/factory/support/RootBeanDefinition;
1 19 4 isInitializingBean Z
10 11 5 pae Ljava/security/PrivilegedActionException;
14 18 5 initMethodName Ljava/lang/String;
Exception table:
from to target type
5 8 9 Class java.security.PrivilegedActionException
Exceptions:
throws java.lang.Throwable
RuntimeVisibleParameterAnnotations:
0:
1:
2:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
beanName
bean final
mbd
protected void invokeCustomInitMethod(java.lang.String, java.lang.Object, org.springframework.beans.factory.support.RootBeanDefinition);
descriptor: (Ljava/lang/String;Ljava/lang/Object;Lorg/springframework/beans/factory/support/RootBeanDefinition;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.getInitMethodName:()Ljava/lang/String;
astore 4
start local 4 1: aload 4
ifnull 2
iconst_1
goto 3
StackMap locals: java.lang.String
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: ldc "No init method set"
invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
4: aload 3
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.isNonPublicAccessAllowed:()Z
ifeq 6
5: aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 4
iconst_0
anewarray java.lang.Class
invokestatic org.springframework.beans.BeanUtils.findMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
goto 7
6: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 4
iconst_0
anewarray java.lang.Class
invokestatic org.springframework.util.ClassUtils.getMethodIfAvailable:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
7: StackMap locals:
StackMap stack: java.lang.reflect.Method
astore 5
start local 5 8: aload 5
ifnonnull 18
9: aload 3
invokevirtual org.springframework.beans.factory.support.RootBeanDefinition.isEnforceInitMethod:()Z
ifeq 13
10: new org.springframework.beans.factory.support.BeanDefinitionValidationException
dup
new java.lang.StringBuilder
dup
ldc "Could not find an init method named '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
11: aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "' on bean with name '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: invokespecial org.springframework.beans.factory.support.BeanDefinitionValidationException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals: java.lang.reflect.Method
StackMap stack:
aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 17
14: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "No default init method named '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
15: ldc "' found on bean with name '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
16: invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
17: StackMap locals:
StackMap stack:
return
18: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 20
19: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Invoking init method '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "' on bean with name '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
20: StackMap locals:
StackMap stack:
invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnull 29
21: aload 5
invokedynamic run(Ljava/lang/reflect/Method;)Ljava/security/PrivilegedAction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
org/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory.lambda$8(Ljava/lang/reflect/Method;)Ljava/lang/Object; (6)
()Ljava/lang/Object;
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
22: aload 5
aload 2
invokedynamic run(Ljava/lang/reflect/Method;Ljava/lang/Object;)Ljava/security/PrivilegedExceptionAction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
org/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory.lambda$9(Ljava/lang/reflect/Method;Ljava/lang/Object;)Ljava/lang/Object; (6)
()Ljava/lang/Object;
23: aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getAccessControlContext:()Ljava/security/AccessControlContext;
24: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
pop
25: goto 34
26: StackMap locals:
StackMap stack: java.security.PrivilegedActionException
astore 6
start local 6 27: aload 6
invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
checkcast java.lang.reflect.InvocationTargetException
astore 7
start local 7 28: aload 7
invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
athrow
end local 7 end local 6 29: StackMap locals:
StackMap stack:
aload 5
invokestatic org.springframework.util.ReflectionUtils.makeAccessible:(Ljava/lang/reflect/Method;)V
30: aload 5
aload 2
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
pop
31: goto 34
32: StackMap locals:
StackMap stack: java.lang.reflect.InvocationTargetException
astore 6
start local 6 33: aload 6
invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
athrow
end local 6 34: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 35 1 beanName Ljava/lang/String;
0 35 2 bean Ljava/lang/Object;
0 35 3 mbd Lorg/springframework/beans/factory/support/RootBeanDefinition;
1 35 4 initMethodName Ljava/lang/String;
8 35 5 initMethod Ljava/lang/reflect/Method;
27 29 6 pae Ljava/security/PrivilegedActionException;
28 29 7 ex Ljava/lang/reflect/InvocationTargetException;
33 34 6 ex Ljava/lang/reflect/InvocationTargetException;
Exception table:
from to target type
22 25 26 Class java.security.PrivilegedActionException
29 31 32 Class java.lang.reflect.InvocationTargetException
Exceptions:
throws java.lang.Throwable
MethodParameters:
Name Flags
beanName
bean final
mbd
protected java.lang.Object postProcessObjectFromFactoryBean(java.lang.Object, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 1 1 object Ljava/lang/Object;
0 1 2 beanName Ljava/lang/String;
MethodParameters:
Name Flags
object
beanName
protected void removeSingleton(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getSingletonMutex:()Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
aload 1
invokespecial org.springframework.beans.factory.support.AbstractBeanFactory.removeSingleton:(Ljava/lang/String;)V
2: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.factoryBeanInstanceCache:Ljava/util/concurrent/ConcurrentMap;
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
3: aload 2
monitorexit
4: goto 7
StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.String java.lang.Object
StackMap stack: java.lang.Throwable
5: aload 2
monitorexit
6: athrow
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
0 8 1 beanName Ljava/lang/String;
Exception table:
from to target type
1 4 5 any
5 6 5 any
MethodParameters:
Name Flags
beanName
protected void clearSingletonCache();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getSingletonMutex:()Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
invokespecial org.springframework.beans.factory.support.AbstractBeanFactory.clearSingletonCache:()V
2: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.factoryBeanInstanceCache:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.clear:()V
3: aload 1
monitorexit
4: goto 7
StackMap locals: org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory java.lang.Object
StackMap stack: java.lang.Throwable
5: aload 1
monitorexit
6: athrow
7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
Exception table:
from to target type
1 4 5 any
5 6 5 any
org.apache.commons.logging.Log getLogger();
descriptor: ()Lorg/apache/commons/logging/Log;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.logger:Lorg/apache/commons/logging/Log;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
private java.lang.Object lambda$0(org.springframework.beans.factory.support.RootBeanDefinition, org.springframework.beans.factory.BeanFactory);
descriptor: (Lorg/springframework/beans/factory/support/RootBeanDefinition;Lorg/springframework/beans/factory/BeanFactory;)Ljava/lang/Object;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=3, args_size=3
start local 0 0: aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getInstantiationStrategy:()Lorg/springframework/beans/factory/support/InstantiationStrategy;
aload 1
aconst_null
aload 2
invokeinterface org.springframework.beans.factory.support.InstantiationStrategy.instantiate:(Lorg/springframework/beans/factory/support/RootBeanDefinition;Ljava/lang/String;Lorg/springframework/beans/factory/BeanFactory;)Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
private java.lang.Object lambda$1(java.lang.String, org.springframework.beans.factory.support.RootBeanDefinition, java.lang.Object);
descriptor: (Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
start local 0 0: aload 0
aload 1
aload 2
aload 3
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getEarlyBeanReference:(Ljava/lang/String;Lorg/springframework/beans/factory/support/RootBeanDefinition;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
Exceptions:
throws org.springframework.beans.BeansException
private static void lambda$3(java.lang.String, org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1Holder, java.lang.reflect.Method);
descriptor: (Ljava/lang/String;Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory$1Holder;Ljava/lang/reflect/Method;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=4, args_size=3
start local 2 0: aload 2
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
1: ldc Lorg/springframework/beans/factory/FactoryBean;
aload 2
invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 5
2: aload 2
ldc Lorg/springframework/beans/factory/FactoryBean;
invokestatic org.springframework.core.GenericTypeResolver.resolveReturnTypeArgument:(Ljava/lang/reflect/Method;Ljava/lang/Class;)Ljava/lang/Class;
astore 3
start local 3 3: aload 3
ifnull 5
4: aload 1
aload 3
aload 1
getfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1Holder.value:Ljava/lang/Class;
invokestatic org.springframework.util.ClassUtils.determineCommonAncestor:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/Class;
putfield org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1Holder.value:Ljava/lang/Class;
end local 3 5: StackMap locals:
StackMap stack:
return
end local 2 LocalVariableTable:
Start End Slot Name Signature
0 6 2 method Ljava/lang/reflect/Method;
3 5 3 currentType Ljava/lang/Class<*>;
Exceptions:
throws java.lang.IllegalArgumentException, java.lang.IllegalAccessException
private java.lang.Object lambda$4(org.springframework.beans.factory.support.RootBeanDefinition, java.lang.String, org.springframework.beans.factory.BeanFactory);
descriptor: (Lorg/springframework/beans/factory/support/RootBeanDefinition;Ljava/lang/String;Lorg/springframework/beans/factory/BeanFactory;)Ljava/lang/Object;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
start local 0 0: aload 0
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getInstantiationStrategy:()Lorg/springframework/beans/factory/support/InstantiationStrategy;
aload 1
aload 2
aload 3
invokeinterface org.springframework.beans.factory.support.InstantiationStrategy.instantiate:(Lorg/springframework/beans/factory/support/RootBeanDefinition;Ljava/lang/String;Lorg/springframework/beans/factory/BeanFactory;)Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
private java.lang.Object lambda$6(java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 0 0: aload 0
aload 1
aload 2
invokevirtual org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeAwareMethods:(Ljava/lang/String;Ljava/lang/Object;)V
1: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/beans/factory/support/AbstractAutowireCapableBeanFactory;
private static java.lang.Object lambda$7(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
checkcast org.springframework.beans.factory.InitializingBean
invokeinterface org.springframework.beans.factory.InitializingBean.afterPropertiesSet:()V
1: aconst_null
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
private static java.lang.Object lambda$8(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokestatic org.springframework.util.ReflectionUtils.makeAccessible:(Ljava/lang/reflect/Method;)V
1: aconst_null
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.lang.Object lambda$9(java.lang.reflect.Method, java.lang.Object);
descriptor: (Ljava/lang/reflect/Method;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
0: aload 0
aload 1
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
}
SourceFile: "AbstractAutowireCapableBeanFactory.java"
NestMembers:
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1Holder org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$AutowireByTypeDependencyDescriptor
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public ValueHolder = org.springframework.beans.factory.config.ConstructorArgumentValues$ValueHolder of org.springframework.beans.factory.config.ConstructorArgumentValues
Holder = org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1Holder
private AutowireByTypeDependencyDescriptor = org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$AutowireByTypeDependencyDescriptor of org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory
public abstract MethodCallback = org.springframework.util.ReflectionUtils$MethodCallback of org.springframework.util.ReflectionUtils