@annotation表示具有某个标注的方法,比如@annotation(org.springframework.transaction.annotation.Transactional)表示被Transactional标注的方法
args 表示方法的参数属于一个特定的类
within 表示方法属于一个特定的类
target 表示方法所属的类
它们对应的加了@的版本则表示对应的类具有某个标注。
详细了解了定义切点之后,在回顾上一节中的代码:
package com.tianmaying.aopdemo.aspect;import org.aspectj.lang.annotation.AfterReturning;import org.aspectj.lang.annotation.Aspect;import org.aspectj.lang.annotation.Pointcut;import org.springframework.stereotype.Component;@Aspect //1@Componentpublic class LogAspect { @Pointcut("execution(* com.tianmaying.aopdemo..*.bookFlight(..))") //2 private void logPointCut() { } @AfterReturning(pointcut = "logPointCut()", returning = "retVal") //3 public void logBookingStatus(boolean retVal) { //4 if (retVal) { System.out.println("booking flight succeeded!"); } else { System.out.println("booking flight failed!"); } }}
【免责声明】本文仅代表作者个人观点,与165平板网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。您若对该稿件内容有任何疑问或质疑,请联系本网将迅速给您回应并做处理。