zoukankan      html  css  js  c++  java
  • Spring Aop织入点语法

    Aspectj织入点语法:

    1、execution(public * *(..))   任何类的任何返回值的任何方法

    2、execution(* set*(..))       任何类的set开头的方法

    3、execution(* com.xyz.service.AccountService.*(..))         任何返回值的规定类里面的方法

    4、execution(* com.xyz.service..*.*(..))      任何返回值的,规定包或者规定包子包的任何类任何方法

    Advise总结。举例说明:

    1、举例:直接指定要织入的位置和逻辑

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    //指定织入的方法。
        @Before("execution(public * com.spring.service..*.*(..))")
        public void BeforeMethod(){
            System.out.println("method start!");
        }
         
         
        @AfterReturning("execution(public * com.spring.service..*.*(..))")
        public void AfterMethod(){
            System.out.println("After returnning");
        }


    2、通过定义pointcut来指定:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    //定义pointcut织入点集合
        @Pointcut("execution(public * com.spring.service..*.*(..))")
        public void MyMethod(){}
         
        @Before("MyMethod()")
        public void BeforeMethod(){
            System.out.println("method start!");
        }
         
        @AfterReturning("MyMethod()")
        public void AfterMethod(){
            System.out.println("After returnning");
        }
         
        //执行前后都拦截。以pjp.proceed的方法分割开来
        @Around("MyMethod()")
        public void aroundProcced(ProceedingJoinPoint pjp) throws Throwable{
            System.out.println("around start");
            pjp.proceed();
            System.out.println("around end");
        }


    输出结果:

    method start! 
    around start 
    helloworld 
    After returnning 
    around end

  • 相关阅读:
    MSSQL Extension For Visual Studio Code
    钉钉开发系列(三)API的调用
    DataTable转换为Model
    钉钉开发系列(十一)钉钉网页扫码登录
    EntityFramework获取数据库的时间
    EntityFramework连接串的调用时传入
    钉钉开发系列(十)SaltUI与WebApi交互
    钉钉开发系列(九)SaltUI在VS中的开发
    钉钉开发系列(八)二维码扫描登录的实现
    钉钉开发系列(七)媒体文件的上传与下载
  • 原文地址:https://www.cnblogs.com/exmyth/p/11184126.html
Copyright © 2011-2022 走看看