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 |
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
Constructor and Description |
---|
AspectJWeavingEnabler() |
Modifier and Type | Method and Description |
---|---|
static void |
enableAspectJWeaving(LoadTimeWeaver weaverToUse,
ClassLoader beanClassLoader) |
int |
getOrder()
Return the order value of this object, with a
higher value meaning greater in terms of sorting.
|
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
public void setBeanClassLoader(ClassLoader classLoader)
BeanClassLoaderAware
class 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 BeanClassLoaderAware
classLoader
- the owning class loader; may be null
in
which case a default ClassLoader
must be used, for example
the ClassLoader
obtained via
ClassUtils.getDefaultClassLoader()
public void setLoadTimeWeaver(LoadTimeWeaver loadTimeWeaver)
LoadTimeWeaverAware
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.
setLoadTimeWeaver
in interface LoadTimeWeaverAware
loadTimeWeaver
- the LoadTimeWeaver
instance (never null
)InitializingBean.afterPropertiesSet()
,
ApplicationContextAware.setApplicationContext(org.springframework.context.ApplicationContext)
public int getOrder()
Ordered
Normally starting with 0, with Integer.MAX_VALUE
indicating the greatest value. Same order values will result
in arbitrary positions for the affected objects.
Higher values can be interpreted as lower priority. As a consequence, the object with the lowest value has highest priority (somewhat analogous to Servlet "load-on-startup" values).
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException
BeanFactoryPostProcessor
postProcessBeanFactory
in interface BeanFactoryPostProcessor
beanFactory
- the bean factory used by the application contextBeansException
- in case of errorspublic static void enableAspectJWeaving(LoadTimeWeaver weaverToUse, ClassLoader beanClassLoader)