org.springframework.context.annotation
Class AutoProxyRegistrar

java.lang.Object
  extended by org.springframework.context.annotation.AutoProxyRegistrar
All Implemented Interfaces:
ImportBeanDefinitionRegistrar

public class AutoProxyRegistrar
extends java.lang.Object
implements ImportBeanDefinitionRegistrar

Registers an auto proxy creator against the current BeanDefinitionRegistry as appropriate based on an @Enable* annotation having mode and proxyTargetClass attributes set to the correct values.

Since:
3.1
Author:
Chris Beams
See Also:
EnableAspectJAutoProxy

Field Summary
private  Log logger
           
 
Constructor Summary
AutoProxyRegistrar()
           
 
Method Summary
 void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry)
          Register, escalate, and configure the standard auto proxy creator (APC) against the given registry.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

private final Log logger
Constructor Detail

AutoProxyRegistrar

public AutoProxyRegistrar()
Method Detail

registerBeanDefinitions

public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata,
                                    BeanDefinitionRegistry registry)
Register, escalate, and configure the standard auto proxy creator (APC) against the given registry. Works by finding the nearest annotation declared on the importing @Configuration class that has both mode and proxyTargetClass attributes. If mode is set to PROXY, the APC is registered; if proxyTargetClass is set to true, then the APC is forced to use subclass (CGLIB) proxying.

Several @Enable* annotations expose both mode and proxyTargetClass attributes. It is important to note that most of these capabilities end up sharing a single APC. For this reason, this implementation doesn't "care" exactly which annotation it finds -- as long as it exposes the right mode and proxyTargetClass attributes, the APC can be registered and configured all the same.

Specified by:
registerBeanDefinitions in interface ImportBeanDefinitionRegistrar
Parameters:
importingClassMetadata - annotation metadata of the importing class
registry - current bean definition registry