Java 中的 Pre-Advice 和 post-Advice 实现可以使用 AspectJ 注释和切面来实现。 下面是示例代码:
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.Aspect;
导入 org.aspectj.lang.annotation.Before;
导入 org.aspectj.lang.annotation.Pointcut;
@Aspect
public class MyAspect {
@ Pointcut("execution(* com.example.MyClass.myMethod(..))")
public void myMethodPointcut() {}
@Before("myMethodPointcut()")
public void beforeAdvice() {
System.out.println("执行建议之前。");
}
@After("myMethodPointcut()")
public void afterAdvice () {
System.out.println("执行通知后");
}
public void aroundAdvice(ProceedingJoinPoint joinPoint) throws Throwable {
System.out.println("执行建议之前。");
joinPoint.proceed();
System.out .println("执行建议后。");
}
}
在此示例中,MyAspect 类使用 @Aspect 注释识别并命名为切面。定义切点。 myMethodPointcut() 用于匹配 com.example.MyClass 类的 myMethod 方法。 接下来,定义 pre-Advice 和 post-Advice 来分别显示目标方法执行之前和之后的输出。 最后,定义了将在方法执行之前和之后执行的周围通知。
要使用此方面,请将其与目标类一起注入到 Spring 容器中,并向目标方法添加 @MyMethodPointcut 注解以触发通知执行。
以上内容来源于网络,不代表本站全部观点。 欢迎关注:zhujipindao.com
评论前必须登录!
注册