spring-framework / org.springframework.aop

Package org.springframework.aop

Types

IntroductionAwareMethodMatcher

interface IntroductionAwareMethodMatcher : MethodMatcher

A specialized type of MethodMatcher that takes into account introductions when matching methods. If there are no introductions on the target class, a method matcher may be able to optimize matching more effectively for example.

MethodBeforeAdvice

interface MethodBeforeAdvice : BeforeAdvice

Advice invoked before a method is invoked. Such advices cannot prevent the method call proceeding, unless they throw a Throwable.

RawTargetAccess

interface 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).

Note that this is a marker interface in the style of java.io.Serializable, semantically applying to a declared interface rather than to the full class of a concrete object. In other words, this marker applies to a particular interface only (typically an introduction interface that does not serve as the primary interface of an AOP proxy), and hence does not affect other interfaces that a concrete AOP proxy may implement.

ThrowsAdvice

interface ThrowsAdvice : AfterAdvice

Tag interface for throws advice.

There are not any methods on this interface, as methods are invoked by reflection. Implementing classes must implement methods of the form:

void afterThrowing([Method, args, target], ThrowableSubclass);

Some examples of valid methods would be:

public void afterThrowing(Exception ex)
public void afterThrowing(RemoteException)
public void afterThrowing(Method method, Object[] args, Object target, Exception ex)
public void afterThrowing(Method method, Object[] args, Object target, ServletException ex)
The first three arguments are optional, and only useful if we want further information about the joinpoint, as in AspectJ after-throwing advice.

Note: If a throws-advice method throws an exception itself, it will override the original exception (i.e. change the exception thrown to the user). The overriding exception will typically be a RuntimeException; this is compatible with any method signature. However, if a throws-advice method throws a checked exception, it will have to match the declared exceptions of the target method and is hence to some degree coupled to specific target method signatures. Do not throw an undeclared checked exception that is incompatible with the target method's signature!

Exceptions

AopInvocationException

open class AopInvocationException : NestedRuntimeException

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