Java动态代理
Posted 浴盆
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java动态代理相关的知识,希望对你有一定的参考价值。
解决的问题
在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在访问此对象时加上一个对此对象的访问层。
Java动态代理实现方式:
- JDK 自带的动态代理
- Cglib动态代理
JDK 自带的动态代理
public interface People
/**
* 交谈
*/
void speak();
在实例化test这个对象的时候,我们调用了Proxy的newProxyInstance方法
public class test implements InvocationHandler
private People people;
// 获取被代理对象信息
public Object getInstance(People people)
this.people = people;
Class clazz = people.getClass();
return Proxy.newProxyInstance(clazz.getClassLoader(), class.getInterfaces(), this);
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable
method.invoke(people);
return null;
以上是关于Java动态代理的主要内容,如果未能解决你的问题,请参考以下文章