public class org.springframework.context.annotation.AutoProxyRegistrar implements org.springframework.context.annotation.ImportBeanDefinitionRegistrar
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.context.annotation.AutoProxyRegistrar
super_class: java.lang.Object
{
private final org.apache.commons.logging.Log logger;
descriptor: Lorg/apache/commons/logging/Log;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 // org.springframework.context.annotation.AutoProxyRegistrar this
0: .line 39
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 41
aload 0 /* this */
aload 0 /* this */
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
putfield org.springframework.context.annotation.AutoProxyRegistrar.logger:Lorg/apache/commons/logging/Log;
2: .line 39
return
end local 0 // org.springframework.context.annotation.AutoProxyRegistrar this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/context/annotation/AutoProxyRegistrar;
public void registerBeanDefinitions(org.springframework.core.type.AnnotationMetadata, org.springframework.beans.factory.support.BeanDefinitionRegistry);
descriptor: (Lorg/springframework/core/type/AnnotationMetadata;Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=10, args_size=3
start local 0 // org.springframework.context.annotation.AutoProxyRegistrar this
start local 1 // org.springframework.core.type.AnnotationMetadata importingClassMetadata
start local 2 // org.springframework.beans.factory.support.BeanDefinitionRegistry registry
0: .line 60
iconst_0
istore 3 /* candidateFound */
start local 3 // boolean candidateFound
1: .line 61
aload 1 /* importingClassMetadata */
invokeinterface org.springframework.core.type.AnnotationMetadata.getAnnotationTypes:()Ljava/util/Set;
astore 4 /* annTypes */
start local 4 // java.util.Set annTypes
2: .line 62
aload 4 /* annTypes */
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 17
StackMap locals: org.springframework.context.annotation.AutoProxyRegistrar org.springframework.core.type.AnnotationMetadata org.springframework.beans.factory.support.BeanDefinitionRegistry int java.util.Set top java.util.Iterator
StackMap stack:
3: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 5 /* annType */
start local 5 // java.lang.String annType
4: .line 63
aload 1 /* importingClassMetadata */
aload 5 /* annType */
invokestatic org.springframework.context.annotation.AnnotationConfigUtils.attributesFor:(Lorg/springframework/core/type/AnnotatedTypeMetadata;Ljava/lang/String;)Lorg/springframework/core/annotation/AnnotationAttributes;
astore 7 /* candidate */
start local 7 // org.springframework.core.annotation.AnnotationAttributes candidate
5: .line 64
aload 7 /* candidate */
ifnonnull 7
6: .line 65
goto 17
7: .line 67
StackMap locals: org.springframework.context.annotation.AutoProxyRegistrar org.springframework.core.type.AnnotationMetadata org.springframework.beans.factory.support.BeanDefinitionRegistry int java.util.Set java.lang.String java.util.Iterator org.springframework.core.annotation.AnnotationAttributes
StackMap stack:
aload 7 /* candidate */
ldc "mode"
invokevirtual org.springframework.core.annotation.AnnotationAttributes.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 8 /* mode */
start local 8 // java.lang.Object mode
8: .line 68
aload 7 /* candidate */
ldc "proxyTargetClass"
invokevirtual org.springframework.core.annotation.AnnotationAttributes.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 9 /* proxyTargetClass */
start local 9 // java.lang.Object proxyTargetClass
9: .line 69
aload 8 /* mode */
ifnull 17
aload 9 /* proxyTargetClass */
ifnull 17
ldc Lorg/springframework/context/annotation/AdviceMode;
aload 8 /* mode */
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
if_acmpne 17
10: .line 70
ldc Ljava/lang/Boolean;
aload 9 /* proxyTargetClass */
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
if_acmpne 17
11: .line 71
iconst_1
istore 3 /* candidateFound */
12: .line 72
aload 8 /* mode */
getstatic org.springframework.context.annotation.AdviceMode.PROXY:Lorg/springframework/context/annotation/AdviceMode;
if_acmpne 17
13: .line 73
aload 2 /* registry */
invokestatic org.springframework.aop.config.AopConfigUtils.registerAutoProxyCreatorIfNecessary:(Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;)Lorg/springframework/beans/factory/config/BeanDefinition;
pop
14: .line 74
aload 9 /* proxyTargetClass */
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 17
15: .line 75
aload 2 /* registry */
invokestatic org.springframework.aop.config.AopConfigUtils.forceAutoProxyCreatorToUseClassProxying:(Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;)V
16: .line 76
return
end local 9 // java.lang.Object proxyTargetClass
end local 8 // java.lang.Object mode
end local 7 // org.springframework.core.annotation.AnnotationAttributes candidate
end local 5 // java.lang.String annType
17: .line 62
StackMap locals: org.springframework.context.annotation.AutoProxyRegistrar org.springframework.core.type.AnnotationMetadata org.springframework.beans.factory.support.BeanDefinitionRegistry int java.util.Set top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
18: .line 81
iload 3 /* candidateFound */
ifne 23
aload 0 /* this */
getfield org.springframework.context.annotation.AutoProxyRegistrar.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isInfoEnabled:()Z
ifeq 23
19: .line 82
aload 0 /* this */
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
astore 5 /* name */
start local 5 // java.lang.String name
20: .line 83
aload 0 /* this */
getfield org.springframework.context.annotation.AutoProxyRegistrar.logger:Lorg/apache/commons/logging/Log;
ldc "%s was imported but no annotations were found having both 'mode' and 'proxyTargetClass' attributes of type AdviceMode and boolean respectively. This means that auto proxy creator registration and configuration may not have occurred as intended, and components may not be proxied as expected. Check to ensure that %s has been @Import'ed on the same class where these annotations are declared; otherwise remove the import of %s altogether."
iconst_3
anewarray java.lang.Object
dup
iconst_0
21: .line 90
aload 5 /* name */
aastore
dup
iconst_1
aload 5 /* name */
aastore
dup
iconst_2
aload 5 /* name */
aastore
22: .line 83
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.info:(Ljava/lang/Object;)V
end local 5 // java.lang.String name
23: .line 92
StackMap locals: org.springframework.context.annotation.AutoProxyRegistrar org.springframework.core.type.AnnotationMetadata org.springframework.beans.factory.support.BeanDefinitionRegistry int java.util.Set
StackMap stack:
return
end local 4 // java.util.Set annTypes
end local 3 // boolean candidateFound
end local 2 // org.springframework.beans.factory.support.BeanDefinitionRegistry registry
end local 1 // org.springframework.core.type.AnnotationMetadata importingClassMetadata
end local 0 // org.springframework.context.annotation.AutoProxyRegistrar this
LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lorg/springframework/context/annotation/AutoProxyRegistrar;
0 24 1 importingClassMetadata Lorg/springframework/core/type/AnnotationMetadata;
0 24 2 registry Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;
1 24 3 candidateFound Z
2 24 4 annTypes Ljava/util/Set<Ljava/lang/String;>;
4 17 5 annType Ljava/lang/String;
5 17 7 candidate Lorg/springframework/core/annotation/AnnotationAttributes;
8 17 8 mode Ljava/lang/Object;
9 17 9 proxyTargetClass Ljava/lang/Object;
20 23 5 name Ljava/lang/String;
MethodParameters:
Name Flags
importingClassMetadata
registry
}
SourceFile: "AutoProxyRegistrar.java"