后置通知
后置通知是在连接点完成之后执行的, 即连接点返回结果或者抛出异常的时候
,
下面的后置通知记录了方法的终止
.
一个切面可以包括一个或者多个通知.
package com.learn.spring.aspectJ;
import java.util.Arrays;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.AfterThrowing;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
/**
* 日志切面
*/
@Component //标识为组件
@Aspect //标识为切面
@Order(3) //指定切面的优先级. 值越小,优先级越高. 标注@Order的切面比不标注@Order切面的优先级高
public class LoggingAspect {
/**
* 后置通知: 在方法执行后执行,不管方法有没有抛出异常.
* 后置通知访问不到方法的返回值
*/
//@After("execution(* com.learn.spring.aspectJ.*.*(..))")
public void afterMethod(JoinPoint joinPoint){
//获取方法名:
String methodName = joinPoint.getSignature().getName();
System.out.println("The methods "+methodName+" ends .");
}