public class AspectJWeavingEnabler extends Object implements BeanFactoryPostProcessor, BeanClassLoaderAware, LoadTimeWeaverAware, Ordered
ClassPreProcessorAgentAdapter
with the Spring application context's default
LoadTimeWeaver.| Modifier and Type | Field and Description |
|---|---|
static String |
ASPECTJ_AOP_XML_RESOURCE
The
aop.xml resource location. |
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE| Constructor and Description |
|---|
AspectJWeavingEnabler() |
| Modifier and Type | Method and Description |
|---|---|
static void |
enableAspectJWeaving(LoadTimeWeaver weaverToUse,
ClassLoader beanClassLoader)
Enable AspectJ weaving with the given
LoadTimeWeaver. |
int |
getOrder()
Get the order value of this object.
|
void |
postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)
Modify the application context's internal bean factory after its standard
initialization.
|
void |
setBeanClassLoader(ClassLoader classLoader)
Callback that supplies the bean
class loader to
a bean instance. |
void |
setLoadTimeWeaver(LoadTimeWeaver loadTimeWeaver)
Set the
LoadTimeWeaver of this object's containing
ApplicationContext. |
public static final String ASPECTJ_AOP_XML_RESOURCE
aop.xml resource location.public void setBeanClassLoader(ClassLoader classLoader)
BeanClassLoaderAwareclass loader to
a bean instance.
Invoked after the population of normal bean properties but
before an initialization callback such as
InitializingBean's
InitializingBean.afterPropertiesSet()
method or a custom init-method.
setBeanClassLoader in interface BeanClassLoaderAwareclassLoader - the owning class loaderpublic void setLoadTimeWeaver(LoadTimeWeaver loadTimeWeaver)
LoadTimeWeaverAwareLoadTimeWeaver 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.
setLoadTimeWeaver in interface LoadTimeWeaverAwareloadTimeWeaver - the LoadTimeWeaver instance (never null)InitializingBean.afterPropertiesSet(),
ApplicationContextAware.setApplicationContext(org.springframework.context.ApplicationContext)public int getOrder()
OrderedHigher 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-startup values).
Same order values will result in arbitrary sort positions for the affected objects.
getOrder in interface OrderedOrdered.HIGHEST_PRECEDENCE,
Ordered.LOWEST_PRECEDENCEpublic void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException
BeanFactoryPostProcessorpostProcessBeanFactory in interface BeanFactoryPostProcessorbeanFactory - the bean factory used by the application contextBeansException - in case of errorspublic static void enableAspectJWeaving(@Nullable LoadTimeWeaver weaverToUse, @Nullable ClassLoader beanClassLoader)
LoadTimeWeaver.weaverToUse - the LoadTimeWeaver to apply to (or null for a default weaver)beanClassLoader - the class loader to create a default weaver for (if necessary)