Constructor and Description |
---|
JdkProxyUtil() |
Modifier and Type | Method and Description |
---|---|
static boolean |
isCglibProxy(Object object)
是否Cglib代理对象
|
static boolean |
isCglibProxyClass(Class<?> clazz)
是否Cglib代理对象
|
static boolean |
isJdkProxy(Object object)
是否为JDK代理对象
|
static boolean |
isJdkProxyClass(Class<?> clazz)
是否为JDK代理类
|
static boolean |
isProxy(Object object)
是否为代理对象,判断JDK代理或Cglib代理
|
static boolean |
isProxyClass(Class<?> clazz)
是否为代理类,判断JDK代理或Cglib代理
|
static <T> T |
newProxyInstance(ClassLoader classloader,
InvocationHandler invocationHandler,
Class<?>... interfaces)
创建动态代理对象
动态代理对象的创建原理是: 假设创建的代理对象名为 $Proxy0 1、根据传入的interfaces动态生成一个类,实现interfaces中的接口 2、通过传入的classloder将刚生成的类加载到jvm中。 |
static <T> T |
newProxyInstance(InvocationHandler invocationHandler,
Class<?>... interfaces)
创建动态代理对象
|
public static <T> T newProxyInstance(ClassLoader classloader, InvocationHandler invocationHandler, Class<?>... interfaces)
InvocationHandler.invoke(Object, java.lang.reflect.Method, Object[])
方法T
- 被代理对象类型classloader
- 被代理类对应的ClassLoaderinvocationHandler
- InvocationHandler
,被代理类通过实现此接口提供动态代理功能interfaces
- 代理类中需要实现的被代理类的接口方法public static <T> T newProxyInstance(InvocationHandler invocationHandler, Class<?>... interfaces)
T
- 被代理对象类型invocationHandler
- InvocationHandler
,被代理类通过实现此接口提供动态代理功能interfaces
- 代理类中需要实现的被代理类的接口方法public static boolean isProxy(Object object)
object
- 被检查的对象public static boolean isJdkProxy(Object object)
object
- 被检查的对象public static boolean isCglibProxy(Object object)
object
- 被检查的对象public static boolean isProxyClass(Class<?> clazz)
clazz
- 被检查的类public static boolean isJdkProxyClass(Class<?> clazz)
clazz
- 被检查的类public static boolean isCglibProxyClass(Class<?> clazz)
clazz
- 被检查的对象Copyright © 2025. All rights reserved.