AopUtils 类在 spring-aop 包中,全路径是 org.springframework.aop.support.AopUtils
,是一个抽象类,有多个静态方法。
以下为部分方法介绍。
isAopProxy 方法
判断对象是否为 Spring 生成的代理对象。
示例:
Object obj = new StringBuffer();
boolean result = AopUtils.isAopProxy(obj);
System.out.println(result); // 输出 false
isJdkDynamicProxy 方法
判断对象是否为 Spring 基于动态代理生成的代理对象。
示例:
Object obj = new StringBuffer();
boolean result = AopUtils.isJdkDynamicProxy(obj);
System.out.println(result); // 输出 false
isCglibProxy 方法
判断对象是否为 Spring 基于 CGLIB 生成的代理对象。
getTargetClass 方法
获取对象对应的 Class;若是代理对象,则获取被代理对象的 Class。
示例:
Object obj = new StringBuffer();
Class cls = AopUtils.getTargetClass(obj);
System.out.println(cls); // 输出 class java.lang.StringBuffer