public class AspectJAwareAdvisorAutoProxyCreator extends AbstractAdvisorAutoProxyCreator
AbstractAdvisorAutoProxyCreator
 subclass that exposes AspectJ's invocation context and understands AspectJ's rules
 for advice precedence when multiple pieces of advice come from the same aspect.DO_NOT_PROXY, logger, PROXY_WITHOUT_ADDITIONAL_INTERCEPTORS| Constructor and Description | 
|---|
| AspectJAwareAdvisorAutoProxyCreator() | 
| Modifier and Type | Method and Description | 
|---|---|
| protected void | extendAdvisors(List<Advisor> candidateAdvisors)Adds an  ExposeInvocationInterceptorto the beginning of the advice chain. | 
| protected boolean | shouldSkip(Class<?> beanClass,
          String beanName)Subclasses should override this method to return  trueif the
 given bean should not be considered for auto-proxying by this post-processor. | 
| protected List<Advisor> | sortAdvisors(List<Advisor> advisors)Sort the rest by AspectJ precedence. | 
advisorsPreFiltered, findAdvisorsThatCanApply, findCandidateAdvisors, findEligibleAdvisors, getAdvicesAndAdvisorsForBean, initBeanFactory, isEligibleAdvisorBean, setBeanFactorybuildAdvisors, createProxy, customizeProxyFactory, determineCandidateConstructors, getBeanFactory, getCacheKey, getCustomTargetSource, getEarlyBeanReference, isFrozen, isInfrastructureClass, postProcessAfterInitialization, postProcessAfterInstantiation, postProcessBeforeInitialization, postProcessBeforeInstantiation, postProcessProperties, predictBeanType, setAdvisorAdapterRegistry, setApplyCommonInterceptorsFirst, setCustomTargetSourceCreators, setFrozen, setInterceptorNames, shouldProxyTargetClass, wrapIfNecessaryevaluateProxyInterfaces, getOrder, getProxyClassLoader, isConfigurationCallbackInterface, isInternalLanguageInterface, setBeanClassLoader, setOrder, setProxyClassLoadercopyFrom, isExposeProxy, isOpaque, isOptimize, isProxyTargetClass, setExposeProxy, setOpaque, setOptimize, setProxyTargetClass, toStringprotected List<Advisor> sortAdvisors(List<Advisor> advisors)
Important: Advisors are sorted in precedence order, from highest precedence to lowest. "On the way in" to a join point, the highest precedence advisor should run first. "On the way out" of a join point, the highest precedence advisor should run last.
sortAdvisors in class AbstractAdvisorAutoProxyCreatoradvisors - the source List of AdvisorsOrdered, 
Order, 
AnnotationAwareOrderComparatorprotected void extendAdvisors(List<Advisor> candidateAdvisors)
ExposeInvocationInterceptor to the beginning of the advice chain.
 These additional advices are needed when using AspectJ expression pointcuts
 and when using AspectJ-style advice.extendAdvisors in class AbstractAdvisorAutoProxyCreatorcandidateAdvisors - the Advisors that have already been identified as
 applying to a given beanprotected boolean shouldSkip(Class<?> beanClass, String beanName)
AbstractAutoProxyCreatortrue if the
 given bean should not be considered for auto-proxying by this post-processor.
 Sometimes we need to be able to avoid this happening, e.g. if it will lead to
 a circular reference or if the existing target instance needs to be preserved.
 This implementation returns false unless the bean name indicates an
 "original instance" according to AutowireCapableBeanFactory conventions.
shouldSkip in class AbstractAutoProxyCreatorbeanClass - the class of the beanbeanName - the name of the beanAutowireCapableBeanFactory.ORIGINAL_INSTANCE_SUFFIX