package com.bjsxt.aop;
import org.aspectj.lang.ProceedingJoinPoint;
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.stereotype.Component;
@Aspect
@Component
public class LogInterceptor {
@Pointcut("execution(* com.bjsxt.service.*.add(..))")
public void myMethod(){};
@Before("myMethod()")
public void before(){
System.out.println("before start");
}
@AfterReturning("myMethod()")
public void afterreturn(){
System.out.println("after start");
}
@AfterThrowing("myMethod()")
public void afterThrowing(){
System.out.println("Throwing start");
}
@Around("myMethod()")
public void around(ProceedingJoinPoint pjp) throws Throwable{
System.out.println("around start");
pjp.proceed();
System.out.println("around end");
}
}
Spring中AOP基于Annotation配置常用声明
最新推荐文章于 2024-07-04 10:03:04 发布