Class AnnotationAwareAspectJAutoProxyCreator
- All Implemented Interfaces:
Serializable
,AopInfrastructureBean
,Aware
,BeanClassLoaderAware
,BeanFactoryAware
,BeanPostProcessor
,InstantiationAwareBeanPostProcessor
,SmartInstantiationAwareBeanPostProcessor
,Ordered
AspectJAwareAdvisorAutoProxyCreator
subclass that processes all AspectJ
annotation aspects in the current application context, as well as Spring Advisors.
Any AspectJ annotated classes will automatically be recognized, and their advice applied if Spring AOP's proxy-based model is capable of applying it. This covers method execution joinpoints.
If the <aop:include> element is used, only @AspectJ beans with names matched by an include pattern will be considered as defining aspects to use for Spring auto-proxying.
Processing of Spring Advisors follows the rules established in
AbstractAdvisorAutoProxyCreator
.
- Since:
- 2.0
- Author:
- Rod Johnson, Juergen Hoeller
- See Also:
-
Field Summary
Fields inherited from class org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator
DO_NOT_PROXY, logger, PROXY_WITHOUT_ADDITIONAL_INTERCEPTORS
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionFind all candidate Advisors to use in auto-proxying.protected void
initBeanFactory
(ConfigurableListableBeanFactory beanFactory) protected boolean
isEligibleAspectBean
(String beanName) Check whether the given aspect bean is eligible for auto-proxying.protected boolean
isInfrastructureClass
(Class<?> beanClass) Return whether the given bean class represents an infrastructure class that should never be proxied.void
setAspectJAdvisorFactory
(AspectJAdvisorFactory aspectJAdvisorFactory) void
setIncludePatterns
(List<String> patterns) Set a list of regex patterns, matching eligible @AspectJ bean names.Methods inherited from class org.springframework.aop.aspectj.autoproxy.AspectJAwareAdvisorAutoProxyCreator
extendAdvisors, shouldSkip, sortAdvisors
Methods inherited from class org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator
advisorsPreFiltered, findAdvisorsThatCanApply, findEligibleAdvisors, getAdvicesAndAdvisorsForBean, isEligibleAdvisorBean, setBeanFactory
Methods inherited from class org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator
buildAdvisors, createProxy, customizeProxyFactory, determineCandidateConstructors, getBeanFactory, getCacheKey, getCustomTargetSource, getEarlyBeanReference, isFrozen, postProcessAfterInitialization, postProcessBeforeInstantiation, postProcessProperties, predictBeanType, setAdvisorAdapterRegistry, setApplyCommonInterceptorsFirst, setCustomTargetSourceCreators, setFrozen, setInterceptorNames, shouldProxyTargetClass, wrapIfNecessary
Methods inherited from class org.springframework.aop.framework.ProxyProcessorSupport
evaluateProxyInterfaces, getOrder, getProxyClassLoader, isConfigurationCallbackInterface, isInternalLanguageInterface, setBeanClassLoader, setOrder, setProxyClassLoader
Methods inherited from class org.springframework.aop.framework.ProxyConfig
copyFrom, isExposeProxy, isOpaque, isOptimize, isProxyTargetClass, setExposeProxy, setOpaque, setOptimize, setProxyTargetClass, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.springframework.beans.factory.config.BeanPostProcessor
postProcessBeforeInitialization
Methods inherited from interface org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessor
postProcessAfterInstantiation
-
Constructor Details
-
AnnotationAwareAspectJAutoProxyCreator
public AnnotationAwareAspectJAutoProxyCreator()
-
-
Method Details
-
setIncludePatterns
Set a list of regex patterns, matching eligible @AspectJ bean names.Default is to consider all @AspectJ beans as eligible.
-
setAspectJAdvisorFactory
-
initBeanFactory
- Overrides:
initBeanFactory
in classAbstractAdvisorAutoProxyCreator
-
findCandidateAdvisors
Description copied from class:AbstractAdvisorAutoProxyCreator
Find all candidate Advisors to use in auto-proxying.- Overrides:
findCandidateAdvisors
in classAbstractAdvisorAutoProxyCreator
- Returns:
- the List of candidate Advisors
-
isInfrastructureClass
Description copied from class:AbstractAutoProxyCreator
Return whether the given bean class represents an infrastructure class that should never be proxied.The default implementation considers Advices, Advisors and AopInfrastructureBeans as infrastructure classes.
- Overrides:
isInfrastructureClass
in classAbstractAutoProxyCreator
- Parameters:
beanClass
- the class of the bean- Returns:
- whether the bean represents an infrastructure class
- See Also:
-
isEligibleAspectBean
Check whether the given aspect bean is eligible for auto-proxying.If no <aop:include> elements were used then "includePatterns" will be
null
and all beans are included. If "includePatterns" is non-null, then one of the patterns must match.
-