Class AbstractAdvisorAutoProxyCreator

All Implemented Interfaces:
Serializable, AopInfrastructureBean, Aware, BeanClassLoaderAware, BeanFactoryAware, BeanPostProcessor, InstantiationAwareBeanPostProcessor, SmartInstantiationAwareBeanPostProcessor, Ordered
Direct Known Subclasses:
AspectJAwareAdvisorAutoProxyCreator, DefaultAdvisorAutoProxyCreator, InfrastructureAdvisorAutoProxyCreator

public abstract class AbstractAdvisorAutoProxyCreator extends AbstractAutoProxyCreator
Generic auto proxy creator that builds AOP proxies for specific beans based on detected Advisors for each bean.

Subclasses may override the findCandidateAdvisors() method to return a custom list of Advisors applying to any object. Subclasses can also override the inherited AbstractAutoProxyCreator.shouldSkip(java.lang.Class<?>, java.lang.String) method to exclude certain objects from auto-proxying.

Advisors or advices requiring ordering should be annotated with @Order or implement the Ordered interface. This class sorts advisors using the AnnotationAwareOrderComparator. Advisors that are not annotated with @Order or don't implement the Ordered interface will be considered as unordered; they will appear at the end of the advisor chain in an undefined order.

Author:
Rod Johnson, Juergen Hoeller
See Also: