Java动态代理实现接口invocationHandler
2017-04-09 23:11
651 查看
动态代理类实现InvocationHandler接口。在这个类中,需要两个方法。一个是需要新建用来接收对象的方法,在这个方法中,接收这个对象,实现这个对象实现的接口。一个是实现这个invocationhandler接口需要实现的invoke方法,在这个方法中实现你需要在你的程序调用前后进行的事情。
public class helloProxy
implements InvocationHandler{
private Object proxyobj;
public helloProxy(Object obj){
this.proxyobj=obj;
}
//接收传来的对象,对象实现什么接口,返回的代理就实现什么接口
public static Object bind(Object obj){
Class clazz=obj.getClass();
return Proxy.newProxyInstance(clazz.getClassLoader(),clazz.getInterfaces(),this);
}
@Override
public Object invoke(Object proxy, Method method, Object[]args)
throws Throwable {
// TODO Auto-generated constructor stub 在这里你可以写一些自己想做的事情
System.out.println(“i love you”);
Object object=method.invoke(proxyobj,args);//这句是用来调用原本的程序、原本的方法
//TODO Auto-generated constructor stub 同样,在这里你可以写一些代码,它会在你的原本的方法实现后实现
System.out.println(“i love you too”);
return object;
}
public class helloProxy
implements InvocationHandler{
private Object proxyobj;
public helloProxy(Object obj){
this.proxyobj=obj;
}
//接收传来的对象,对象实现什么接口,返回的代理就实现什么接口
public static Object bind(Object obj){
Class clazz=obj.getClass();
return Proxy.newProxyInstance(clazz.getClassLoader(),clazz.getInterfaces(),this);
}
@Override
public Object invoke(Object proxy, Method method, Object[]args)
throws Throwable {
// TODO Auto-generated constructor stub 在这里你可以写一些自己想做的事情
System.out.println(“i love you”);
Object object=method.invoke(proxyobj,args);//这句是用来调用原本的程序、原本的方法
//TODO Auto-generated constructor stub 同样,在这里你可以写一些代码,它会在你的原本的方法实现后实现
System.out.println(“i love you too”);
return object;
}
相关文章推荐
- Java动态代理实现接口方法
- java动态代理2 (cglib 不用实现接口)
- java反射和动态代理实现接口记录
- java动态代理--代理接口无实现类
- java动态代理--代理接口无实现类
- java动态代理--代理接口无实现类
- java动态代理--代理接口无实现类
- Java初学者如何迈出AOP第一步--使用Java 动态代理实现AOP
- Java初学者如何迈出AOP第一步--使用Java 动态代理实现AOP(转)
- 使用Java动态代理实现AOP
- Java初学者如何迈出AOP第一步--使用Java 动态代理实现AOP
- 使用Java动态代理实现AOP
- 使用JAVA中的动态代理实现数据库连接池
- 使用JAVA中的动态代理实现数据库连接池 Z
- Java动态代理实现AOP
- Java动态代理实现
- 用Java动态代理实现AOP
- AOP系列之三:用Java动态代理实现AOP
- 设计模式:用Java动态代理实现AOP