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

  • 相关阅读:
    python学习笔记 day37 Manager (IPC机制----进程之间互相通信)
    python学习笔记 day37 管道Pipe (IPC机制----进程之间互相通信)
    python学习笔记 day37 生产者消费者模型
    python学习笔记 day36 队列(IPC机制----进程之间互相通信)
    HDU 3068 最长回文
    CodeForces Round #555 Div.3
    2016湖南省赛 [Cloned]
    HDU 3486 Interviewe
    CodeForces Round #554 Div.2
    POJ 1050 To the Max
  • 原文地址:https://www.cnblogs.com/exmyth/p/11184126.html
Copyright © 2011-2022 走看看