public class org.springframework.aop.scope.ScopedProxyFactoryBean extends org.springframework.aop.framework.ProxyConfig implements org.springframework.beans.factory.FactoryBean<java.lang.Object>, org.springframework.beans.factory.BeanFactoryAware, org.springframework.aop.framework.AopInfrastructureBean
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.aop.scope.ScopedProxyFactoryBean
super_class: org.springframework.aop.framework.ProxyConfig
{
private final org.springframework.aop.target.SimpleBeanTargetSource scopedTargetSource;
descriptor: Lorg/springframework/aop/target/SimpleBeanTargetSource;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.lang.String targetBeanName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private java.lang.Object proxy;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.springframework.aop.framework.ProxyConfig.<init>:()V
1: aload 0
new org.springframework.aop.target.SimpleBeanTargetSource
dup
invokespecial org.springframework.aop.target.SimpleBeanTargetSource.<init>:()V
putfield org.springframework.aop.scope.ScopedProxyFactoryBean.scopedTargetSource:Lorg/springframework/aop/target/SimpleBeanTargetSource;
2: aload 0
iconst_1
invokevirtual org.springframework.aop.scope.ScopedProxyFactoryBean.setProxyTargetClass:(Z)V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/aop/scope/ScopedProxyFactoryBean;
public void setTargetBeanName(java.lang.String);
descriptor: (Ljava/lang/String;)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.aop.scope.ScopedProxyFactoryBean.targetBeanName:Ljava/lang/String;
1: aload 0
getfield org.springframework.aop.scope.ScopedProxyFactoryBean.scopedTargetSource:Lorg/springframework/aop/target/SimpleBeanTargetSource;
aload 1
invokevirtual org.springframework.aop.target.SimpleBeanTargetSource.setTargetBeanName:(Ljava/lang/String;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/aop/scope/ScopedProxyFactoryBean;
0 3 1 targetBeanName Ljava/lang/String;
MethodParameters:
Name Flags
targetBeanName
public void setBeanFactory(org.springframework.beans.factory.BeanFactory);
descriptor: (Lorg/springframework/beans/factory/BeanFactory;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.springframework.beans.factory.config.ConfigurableBeanFactory
ifne 2
1: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Not running in a ConfigurableBeanFactory: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
checkcast org.springframework.beans.factory.config.ConfigurableBeanFactory
astore 2
start local 2 3: aload 0
getfield org.springframework.aop.scope.ScopedProxyFactoryBean.scopedTargetSource:Lorg/springframework/aop/target/SimpleBeanTargetSource;
aload 1
invokevirtual org.springframework.aop.target.SimpleBeanTargetSource.setBeanFactory:(Lorg/springframework/beans/factory/BeanFactory;)V
4: new org.springframework.aop.framework.ProxyFactory
dup
invokespecial org.springframework.aop.framework.ProxyFactory.<init>:()V
astore 3
start local 3 5: aload 3
aload 0
invokevirtual org.springframework.aop.framework.ProxyFactory.copyFrom:(Lorg/springframework/aop/framework/ProxyConfig;)V
6: aload 3
aload 0
getfield org.springframework.aop.scope.ScopedProxyFactoryBean.scopedTargetSource:Lorg/springframework/aop/target/SimpleBeanTargetSource;
invokevirtual org.springframework.aop.framework.ProxyFactory.setTargetSource:(Lorg/springframework/aop/TargetSource;)V
7: aload 0
getfield org.springframework.aop.scope.ScopedProxyFactoryBean.targetBeanName:Ljava/lang/String;
ldc "Property 'targetBeanName' is required"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
8: aload 1
aload 0
getfield org.springframework.aop.scope.ScopedProxyFactoryBean.targetBeanName:Ljava/lang/String;
invokeinterface org.springframework.beans.factory.BeanFactory.getType:(Ljava/lang/String;)Ljava/lang/Class;
astore 4
start local 4 9: aload 4
ifnonnull 13
10: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Cannot create scoped proxy for bean '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.springframework.aop.scope.ScopedProxyFactoryBean.targetBeanName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: ldc "': Target type could not be determined at the time of proxy creation."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals: org.springframework.beans.factory.config.ConfigurableBeanFactory org.springframework.aop.framework.ProxyFactory java.lang.Class
StackMap stack:
aload 0
invokevirtual org.springframework.aop.scope.ScopedProxyFactoryBean.isProxyTargetClass:()Z
ifeq 14
aload 4
invokevirtual java.lang.Class.isInterface:()Z
ifne 14
aload 4
invokevirtual java.lang.Class.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isPrivate:(I)Z
ifeq 15
14: StackMap locals:
StackMap stack:
aload 3
aload 4
aload 2
invokeinterface org.springframework.beans.factory.config.ConfigurableBeanFactory.getBeanClassLoader:()Ljava/lang/ClassLoader;
invokestatic org.springframework.util.ClassUtils.getAllInterfacesForClass:(Ljava/lang/Class;Ljava/lang/ClassLoader;)[Ljava/lang/Class;
invokevirtual org.springframework.aop.framework.ProxyFactory.setInterfaces:([Ljava/lang/Class;)V
15: StackMap locals:
StackMap stack:
new org.springframework.aop.scope.DefaultScopedObject
dup
aload 2
aload 0
getfield org.springframework.aop.scope.ScopedProxyFactoryBean.scopedTargetSource:Lorg/springframework/aop/target/SimpleBeanTargetSource;
invokevirtual org.springframework.aop.target.SimpleBeanTargetSource.getTargetBeanName:()Ljava/lang/String;
invokespecial org.springframework.aop.scope.DefaultScopedObject.<init>:(Lorg/springframework/beans/factory/config/ConfigurableBeanFactory;Ljava/lang/String;)V
astore 5
start local 5 16: aload 3
new org.springframework.aop.support.DelegatingIntroductionInterceptor
dup
aload 5
invokespecial org.springframework.aop.support.DelegatingIntroductionInterceptor.<init>:(Ljava/lang/Object;)V
invokevirtual org.springframework.aop.framework.ProxyFactory.addAdvice:(Lorg/aopalliance/aop/Advice;)V
17: aload 3
ldc Lorg/springframework/aop/framework/AopInfrastructureBean;
invokevirtual org.springframework.aop.framework.ProxyFactory.addInterface:(Ljava/lang/Class;)V
18: aload 0
aload 3
aload 2
invokeinterface org.springframework.beans.factory.config.ConfigurableBeanFactory.getBeanClassLoader:()Ljava/lang/ClassLoader;
invokevirtual org.springframework.aop.framework.ProxyFactory.getProxy:(Ljava/lang/ClassLoader;)Ljava/lang/Object;
putfield org.springframework.aop.scope.ScopedProxyFactoryBean.proxy:Ljava/lang/Object;
19: 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 20 0 this Lorg/springframework/aop/scope/ScopedProxyFactoryBean;
0 20 1 beanFactory Lorg/springframework/beans/factory/BeanFactory;
3 20 2 cbf Lorg/springframework/beans/factory/config/ConfigurableBeanFactory;
5 20 3 pf Lorg/springframework/aop/framework/ProxyFactory;
9 20 4 beanType Ljava/lang/Class<*>;
16 20 5 scopedObject Lorg/springframework/aop/scope/ScopedObject;
MethodParameters:
Name Flags
beanFactory
public java.lang.Object getObject();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.aop.scope.ScopedProxyFactoryBean.proxy:Ljava/lang/Object;
ifnonnull 2
1: new org.springframework.beans.factory.FactoryBeanNotInitializedException
dup
invokespecial org.springframework.beans.factory.FactoryBeanNotInitializedException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.aop.scope.ScopedProxyFactoryBean.proxy:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/aop/scope/ScopedProxyFactoryBean;
public java.lang.Class<?> getObjectType();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.aop.scope.ScopedProxyFactoryBean.proxy:Ljava/lang/Object;
ifnull 2
1: aload 0
getfield org.springframework.aop.scope.ScopedProxyFactoryBean.proxy:Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.aop.scope.ScopedProxyFactoryBean.scopedTargetSource:Lorg/springframework/aop/target/SimpleBeanTargetSource;
invokevirtual org.springframework.aop.target.SimpleBeanTargetSource.getTargetClass:()Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/aop/scope/ScopedProxyFactoryBean;
Signature: ()Ljava/lang/Class<*>;
public boolean isSingleton();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/aop/scope/ScopedProxyFactoryBean;
}
Signature: Lorg/springframework/aop/framework/ProxyConfig;Lorg/springframework/beans/factory/FactoryBean<Ljava/lang/Object;>;Lorg/springframework/beans/factory/BeanFactoryAware;Lorg/springframework/aop/framework/AopInfrastructureBean;
SourceFile: "ScopedProxyFactoryBean.java"