Class AspectJWeavingEnabler
- All Implemented Interfaces:
Aware,BeanClassLoaderAware,BeanFactoryPostProcessor,LoadTimeWeaverAware,Ordered
ClassPreProcessorAgentAdapter
with the Spring application context's default
LoadTimeWeaver.- Since:
- 2.5
- Author:
- Juergen Hoeller, Ramnivas Laddad
-
Field Summary
FieldsFields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidenableAspectJWeaving(@Nullable LoadTimeWeaver weaverToUse, @Nullable ClassLoader beanClassLoader) Enable AspectJ weaving with the givenLoadTimeWeaver.intgetOrder()Get the order value of this object.voidpostProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) Modify the application context's internal bean factory after its standard initialization.voidsetBeanClassLoader(ClassLoader classLoader) Callback that supplies the beanclass loaderto a bean instance.voidsetLoadTimeWeaver(LoadTimeWeaver loadTimeWeaver) Set theLoadTimeWeaverof this object's containingApplicationContext.
-
Field Details
-
ASPECTJ_AOP_XML_RESOURCE
Theaop.xmlresource location.- See Also:
-
-
Constructor Details
-
AspectJWeavingEnabler
public AspectJWeavingEnabler()
-
-
Method Details
-
setBeanClassLoader
Description copied from interface:BeanClassLoaderAwareCallback that supplies the beanclass loaderto a bean instance.Invoked after the population of normal bean properties but before an initialization callback such as
InitializingBean'sInitializingBean.afterPropertiesSet()method or a custom init-method.- Specified by:
setBeanClassLoaderin interfaceBeanClassLoaderAware- Parameters:
classLoader- the owning class loader
-
setLoadTimeWeaver
Description copied from interface:LoadTimeWeaverAwareSet theLoadTimeWeaverof this object's containingApplicationContext.Invoked after the population of normal bean properties but before an initialization callback like
InitializingBean'safterPropertiesSet()or a custom init-method. Invoked afterApplicationContextAware'ssetApplicationContext(..).NOTE: This method will only be called if there actually is a
LoadTimeWeaveravailable 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:
setLoadTimeWeaverin interfaceLoadTimeWeaverAware- Parameters:
loadTimeWeaver- theLoadTimeWeaverinstance (nevernull)- See Also:
-
getOrder
public int getOrder()Description copied from interface:OrderedGet the order value of this object.Higher values are interpreted as lower priority. As a consequence, the object with the lowest value has the highest priority (somewhat analogous to Servlet
load-on-startupvalues).Same order values will result in arbitrary sort positions for the affected objects.
-
postProcessBeanFactory
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException Description copied from interface:BeanFactoryPostProcessorModify the application context's internal bean factory after its standard initialization. All bean definitions will have been loaded, but no beans will have been instantiated yet. This allows for overriding or adding properties even to eager-initializing beans.- Specified by:
postProcessBeanFactoryin interfaceBeanFactoryPostProcessor- Parameters:
beanFactory- the bean factory used by the application context- Throws:
BeansException- in case of errors
-
enableAspectJWeaving
public static void enableAspectJWeaving(@Nullable LoadTimeWeaver weaverToUse, @Nullable ClassLoader beanClassLoader) Enable AspectJ weaving with the givenLoadTimeWeaver.- Parameters:
weaverToUse- the LoadTimeWeaver to apply to (ornullfor a default weaver)beanClassLoader- the class loader to create a default weaver for (if necessary)
-