# Package org.springframework.aop

Core Spring AOP interfaces, built on AOP Alliance AOP interoperability interfaces.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  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 `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.

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

## Package org.springframework.aop Description

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.