Class AutoProxyRegistrar

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

public class AutoProxyRegistrar extends 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:
  • EnableCaching
  • org.springframework.transaction.annotation.EnableTransactionManagement
  • Constructor Details

    • AutoProxyRegistrar

      public AutoProxyRegistrar()
  • Method Details

    • registerBeanDefinitions

      public void registerBeanDefinitions(org.springframework.core.type.AnnotationMetadata importingClassMetadata, org.springframework.beans.factory.support.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