微码:Spring AOP 切面中获取包名和类名的方法

本文发布于 2024年07月31日,阅读 21 次,点赞 0 次,归类于 微码

在切面中获取到被切入的类名和包名的方法:

 package top.emanjusaka.aop;
 ​
 import org.aspectj.lang.ProceedingJoinPoint;
 import org.aspectj.lang.annotation.Around;
 import org.aspectj.lang.annotation.Aspect;
 import org.aspectj.lang.annotation.Pointcut;
 import org.aspectj.lang.reflect.MethodSignature;
 import org.springframework.stereotype.Component;
 ​
 /**
  * @Author emanjusaka
  * @Date 2024/7/31 15:07
  * @Version 1.0
  */
 @Aspect
 @Component
 public class TestAspect {
 ​
     // 定义切入点
     @Pointcut("execution(* top.emanjusaka.aop.*.*(..))")
     public void testCut() {
 ​
     }
 ​
     @Around("testCut()")
     public Object doGetPackageName(ProceedingJoinPoint joinPoint) throws Throwable {
         MethodSignature signature = (MethodSignature) joinPoint.getSignature();
         Class<?> targetClass = signature.getDeclaringType();
         System.out.println("类名:" + targetClass.getSimpleName());
         System.out.println("包名:" + targetClass.getPackage().getName());
         System.out.println("包名 + 类名:" + targetClass.getName());
         return joinPoint.proceed();
     }
 }
 ​

在技术的星河中遨游,我们互为引路星辰,共同追逐成长的光芒。愿本文的洞见能触动您的思绪,若有所共鸣,请以点赞之手,轻抚赞同的弦。

原文地址: https://www.emanjusaka.top/2024/07/spring-aop-package-name

微信公众号:emanjusaka的编程栈

本篇完