Spring中的Advice(通知)

Spring中提供了五种类型的Advice。分别为:Interception Around,before,After Returning,Throw,Introduction。下面分别进行讨论
1 Interception Around
  这个通知会在JointPoint前后执行。这个也是Spring中最基本的通知类型。要使用该类型必须要实现MethodInterception接口。下面是代码演示。
public class LogInterception implements MethodInterceptor{
System.out.println("begin...");
Object rval = invocation.proceed();
System.out.println("end...");
}


2 Before通知
  这个通知只在JointPoint前执行。要使用该通知,必须实现MethodBeforeAdvice接口。
public class LogBeforeAdvice implements MethodBeforeAdvice{
public void before(Method m,Object[]args,Object target) throws Throwable{
System.out.println("begin...");
}
}


3 After Returning通知
  这个通知只在JointPoint后执行。要使用该通知,必须实现MethodReturningAdvice接口。
public class LogAfterAdvice implements MethodReturningAdvice{
public void afterReturning(Method m,Object[]args,Object target) throws Throwable{
System.out.println("end...");
}
}


4 Throw通知
  这个通知只在JointPoint抛出异常时执行。要使用该通知,必须实现ThrowsAdvice接口。
public class LogThrowAdvice implements MethodReturningAdvice{
public void afterThrowing(RemoteException ex) throws Throwable{
System.out.println("Exception...");
}
}


5 Introduction通知
  该通知只会在JointPoint调用完毕后执行,要使用该通知,必须实现IntroductionAdvisor接口和InterductionInterceptor接口。

你可能感兴趣的:(spring)