@Aspect
@Component
public class MyAspect {
@Pointcut("execution(* com.zzt.service.UserServiceImpl.*(..))")
public void pc(){}
@Before("pc()")
public void myBefore(JoinPoint a){
System.out.println("target "+a.getTarget());
System.out.println("args "+a.getArgs());
System.out.println("method's name "+a.getSignature().getName());
System.out.println("before~~~~~~~~~~~");
}
@AfterReturning(value = "pc()" , returning="ret")
public void myAfter(JoinPoint a,Object ret){
System.out.println("after~~~~~~~~~~~"+ret);
}
@Around("pc()")
public Object MyInterceptor(ProceedingJoinPoint p) throws Throwable {
System.out.println("interceptor1~~~~");
Object ret = p.proceed();
System.out.println("interceptor2~~~~");
return ret;
}
@AfterThrowing(value = "pc()",throwing = "ex")
public void myThrows(JoinPoint jp,Exception ex){
System.out.println("throws方法");
System.out.println("++++"+ ex.getMessage());
}
}