• SpringAOP的注解方式


    AOP(注解)【理解】【应用】【重点】

           1.AOP注解配置流程

           A.开启AOP配置支持注解@aspectj

                  核心配置文件中添加以下配置,功能等同于注解配置Bean的自动扫描路径

                  <aop:aspectj-autoproxy/>

           B.将所有参与AOP配置的类声明为Spring控制的Bean

                  可以使用XML配置格式或注解格式

           C.在切面类的类定义上方添加切面的声明

                  @Aspect

    public class MyAdvice {…}

           D.将切面类中的方法配置为指定类型的通知,配置时指定其切入点

                  @Before("execution(* cn.itcast.aop.annotation.UserImpl.add())")

        public void before(JoinPoint jp) {

               System.out.println("before");

        }

           2.配置公共的切入点

                  A.在切面类中声明一个方法(私有的),将该方法配置为切入点

                         @Pointcut("execution(* cn.itcast.aop.annotation.UserImpl.add())")

                         private void pt(){}

                  B.使用配置的切入点

                         @Before("引用切入点")

                         格式:切面类名.方法名()

                         范例:@Before("MyAdvice. pt ()")

    3.注解开发通知的通知类别

    前置通知              @Before(value="execution(* *..*.*(..))")

    后置通知              @After(value="execution(* *..*.*(..))")

    抛出异常通知       @AfterThrowing(value="execution(* *..*.*(..))",throwing="ex")

    返回后通知           @AfterReturning(value="execution(* *..*.*(..))",returning="ret")

    环绕通知              @Around(value="execution(* *..*.*(..))")

    4.注解格式AOP顺序

                  总体顺序由上到下为下列描述顺序

    around before

    before

    around after

    after

    afterReturning

    实际开发以最终运行顺序为准

           5.返回值与异常对象的获取方式

           @AfterReturning(value="MyAdvice.pt()",returning="aa")

           public void afterReturning(JoinPoint jp,Object aa){

                  System.out.println("afterReturning......."+aa);

           }

  • 相关阅读:
    docker API 配置与使用
    docker 启动 nginx 访问不了的问题
    微信小程序
    JavaScript -- 继承与原型链
    Chrome Google 快捷键
    jquery中attr和prop的区别
    Vue购物车实例
    jquery添加html代码的几种方法
    DeepFaceLab错误:DLL Load failed 找不到指定模块!
    DeepFaceLab:手动提取高精度脸图,减少抖动!
  • 原文地址:https://www.cnblogs.com/DreamDrive/p/4091572.html
Copyright © 2020-2023  润新知