zoukankan      html  css  js  c++  java
  • Spring的通知(Advice)

      Spring提供了5种Advice类型:

      Interception Around:JointPoint前后调用

      Before:JointPoint前调用

      After Returning:JointPoint后调用

      Throw:JoinPoint抛出异常时调用

      Introduction:JointPoint调用完毕后调用

    Interception Around通知

      Interception Around通知会在JoinPoint的前后执行。实现此通知的类需要实现接口MethodInterceptor,示例代码如下:

    1 public class LogInterceptor implements MethodInterceptor{
    2       public Object invoke(MethodInvocation invocation invocation) throws Throwable{
    3            System.out.println("开始审核数据...");
    4            Object rval = invocation.proceed();
    5            System.out.println("审核数据结束...");
    6            return rval;
    7 }       
    8 }    

    Before通知

    只在JointPoint前执行,实现Before通知的类需要实现接口MethodBeforeAdvice,示例带入如下:

    
    
    1 public class LogBeforeAdvice implements MethodBeforeAdvice{
    2       public void before(Method m,Object[] args,Object target) throw Throwable{
    3        System.out.println("开始审核数据...");  
    4 }
    5 }
    
    

    After Returning通知

      只在JointPoint之后执行,实现After Returning通知的类需要实现接口AfterReturningAdvice,示例代码如下:

     

    1 public class LogAfterAdvice implements AfterReturningAdvice{
    2        public void afterReturning(Method m,Object[] args,Object target) throws Throwable{
    3        System.out.println(“审核数据结束...”);
    4 }
    5 }

    Throw通知

        只在JointPoint抛出异常时执行,实现Throw通知的类需要实现接口ThrowsAdvice,示例代码如下:

    1 public class LogThrowAdvice implements ThrowsAdvice{
    2       public void afterThrowing(RemoteException ex) throws Throwable{
    3          System.out.println("审核数据异常,请检查..."+ex);
    4 }
    5 }

    Introduction通知

      只在JointPoint调用完毕后执行,实现Introduction通知的类需要实现接口IntroductionAdvisor和接口IntroductionInterceptor

    
    
  • 相关阅读:
    CodeForces 219D Choosing Capital for Treeland (树形DP)
    POJ 3162 Walking Race (树的直径,单调队列)
    POJ 2152 Fire (树形DP,经典)
    POJ 1741 Tree (树的分治,树的重心)
    POJ 1655 Balancing Act (树的重心,常规)
    HDU 2196 Computer (树形DP)
    HDU 1520 Anniversary party (树形DP,入门)
    寒门子弟
    JQuery选择器(转)
    (四)Web应用开发---系统架构图
  • 原文地址:https://www.cnblogs.com/victoria-c/p/5737354.html
Copyright © 2011-2022 走看看