Core Spring AOP interfaces, built on AOP Alliance AOP interoperability interfaces.
Any AOP Alliance MethodInterceptor is usable in Spring.
Spring AOP also offers:
  • Introduction support
  • A Pointcut abstraction, supporting "static" pointcuts (class and method-based) and "dynamic" pointcuts (also considering method arguments). There are currently no AOP Alliance interfaces for pointcuts.
  • A full range of advice types, including around, before, after returning and throws advice.
  • Extensibility allowing arbitrary custom advice types to be plugged in without modifying the core framework.

Spring AOP can be used programmatically or (preferably) integrated with the Spring IoC container.


Advisor Base interface holding AOP advice (action to take at a joinpoint) and a filter determining the applicability of the advice (such as a pointcut). 
AfterAdvice Common marker interface for after advice, such as AfterReturningAdvice and ThrowsAdvice
AfterReturningAdvice After returning advice is invoked only on normal method return, not if an exception is thrown. 
BeforeAdvice Common marker interface for before advice, such as MethodBeforeAdvice
ClassFilter Filter that restricts matching of a pointcut or introduction to a given set of target classes. 
DynamicIntroductionAdvice Subinterface of AOP Alliance Advice that allows additional interfaces to be implemented by an Advice, and available via a proxy using that interceptor. 
IntroductionAdvisor Superinterface for advisors that perform one or more AOP introductions
IntroductionAwareMethodMatcher A specialized type of MethodMatcher that takes into account introductions when matching methods. 
IntroductionInfo Interface supplying the information necessary to describe an introduction. 
IntroductionInterceptor Subinterface of AOP Alliance MethodInterceptor that allows additional interfaces to be implemented by the interceptor, and available via a proxy using that interceptor. 
MethodBeforeAdvice Advice invoked before a method is invoked. 
MethodMatcher Part of a Pointcut: Checks whether the target method is eligible for advice. 
Pointcut Core Spring pointcut abstraction. 
PointcutAdvisor Superinterface for all Advisors that are driven by a pointcut. 
ProxyMethodInvocation Extension of the AOP Alliance org.aopalliance.intercept.MethodInvocation interface, allowing access to the proxy that the method invocation was made through. 
RawTargetAccess Marker for AOP proxy interfaces (in particular: introduction interfaces) that explicitly intend to return the raw target object (which would normally get replaced with the proxy object when returned from a method invocation). 
SpringProxy Marker interface implemented by all AOP proxies. 
TargetClassAware Minimal interface for exposing the target class behind a proxy. 
TargetSource A TargetSource is used to obtain the current "target" of an AOP invocation, which will be invoked via reflection if no around advice chooses to end the interceptor chain itself. 
ThrowsAdvice Tag interface for throws advice. 


AopInvocationException Exception that gets thrown when an AOP invocation failed because of misconfiguration or unexpected runtime issues.