Class AspectJWeavingEnabler

java.lang.Object
org.springframework.context.weaving.AspectJWeavingEnabler
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.beans.factory.config.BeanFactoryPostProcessor, LoadTimeWeaverAware, org.springframework.core.Ordered

public class AspectJWeavingEnabler extends Object implements org.springframework.beans.factory.config.BeanFactoryPostProcessor, org.springframework.beans.factory.BeanClassLoaderAware, LoadTimeWeaverAware, org.springframework.core.Ordered
Post-processor that registers AspectJ's ClassPreProcessorAgentAdapter with the Spring application context's default LoadTimeWeaver.
Since:
2.5
Author:
Juergen Hoeller, Ramnivas Laddad
  • Field Details

    • ASPECTJ_AOP_XML_RESOURCE

      public static final String ASPECTJ_AOP_XML_RESOURCE
      The aop.xml resource location.
      See Also:
  • Constructor Details

    • AspectJWeavingEnabler

      public AspectJWeavingEnabler()
  • Method Details

    • setBeanClassLoader

      public void setBeanClassLoader(ClassLoader classLoader)
      Specified by:
      setBeanClassLoader in interface org.springframework.beans.factory.BeanClassLoaderAware
    • setLoadTimeWeaver

      public void setLoadTimeWeaver(LoadTimeWeaver loadTimeWeaver)
      Description copied from interface: LoadTimeWeaverAware
      Set the LoadTimeWeaver of this object's containing ApplicationContext.

      Invoked after the population of normal bean properties but before an initialization callback like InitializingBean's afterPropertiesSet() or a custom init-method. Invoked after ApplicationContextAware's setApplicationContext(..).

      NOTE: This method will only be called if there actually is a LoadTimeWeaver available in the application context. If there is none, the method will simply not get invoked, assuming that the implementing object is able to activate its weaving dependency accordingly.

      Specified by:
      setLoadTimeWeaver in interface LoadTimeWeaverAware
      Parameters:
      loadTimeWeaver - the LoadTimeWeaver instance (never null)
      See Also:
    • getOrder

      public int getOrder()
      Specified by:
      getOrder in interface org.springframework.core.Ordered
    • postProcessBeanFactory

      public void postProcessBeanFactory(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory) throws org.springframework.beans.BeansException
      Specified by:
      postProcessBeanFactory in interface org.springframework.beans.factory.config.BeanFactoryPostProcessor
      Throws:
      org.springframework.beans.BeansException
    • enableAspectJWeaving

      public static void enableAspectJWeaving(@Nullable LoadTimeWeaver weaverToUse, @Nullable ClassLoader beanClassLoader)
      Enable AspectJ weaving with the given LoadTimeWeaver.
      Parameters:
      weaverToUse - the LoadTimeWeaver to apply to (or null for a default weaver)
      beanClassLoader - the class loader to create a default weaver for (if necessary)