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 38
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 40
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 38
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 59
iconst_0
istore 3 /* candidateFound */
start local 3 // boolean candidateFound
1: .line 60
aload 1 /* importingClassMetadata */
invokeinterface org.springframework.core.type.AnnotationMetadata.getAnnotationTypes:()Ljava/util/Set;
astore 4 /* annoTypes */
start local 4 // java.util.Set annoTypes
2: .line 61
aload 4 /* annoTypes */
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 /* annoType */
start local 5 // java.lang.String annoType
4: .line 62
aload 1 /* importingClassMetadata */
aload 5 /* annoType */
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 63
aload 7 /* candidate */
ifnonnull 7
6: .line 64
goto 17
7: .line 66
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 67
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 68
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 69
ldc Ljava/lang/Boolean;
aload 9 /* proxyTargetClass */
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
if_acmpne 17
11: .line 70
iconst_1
istore 3 /* candidateFound */
12: .line 71
aload 8 /* mode */
getstatic org.springframework.context.annotation.AdviceMode.PROXY:Lorg/springframework/context/annotation/AdviceMode;
if_acmpne 17
13: .line 72
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 73
aload 9 /* proxyTargetClass */
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 17
15: .line 74
aload 2 /* registry */
invokestatic org.springframework.aop.config.AopConfigUtils.forceAutoProxyCreatorToUseClassProxying:(Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;)V
16: .line 75
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 annoType
17: .line 61
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 80
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 81
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 82
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 89
aload 5 /* name */
aastore
dup
iconst_1
aload 5 /* name */
aastore
dup
iconst_2
aload 5 /* name */
aastore
22: .line 82
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 91
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 annoTypes
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 annoTypes Ljava/util/Set<Ljava/lang/String;>;
4 17 5 annoType 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"