package dynamicProxy;
public interface Man
{
public void say();
public void work();
}
package dynamicProxy;
public class ManOne implements Man
{
public void say()
{
System.out.println("今天星期二,好心情!");
}
public void work()
{
System.out.println("今天星期二,好好工作!");
}
}
package dynamicProxy;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
public class ManProxy implements InvocationHandler {
private Object target;
public ManProxy(Object obj)
{
this.target = obj;
}
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
Object result;
System.out.println("***********代理开始*************");
System.out.println(proxy.getClass().getSimpleName());
System.out.println(method.getName());
result = method.invoke(target, args);
return result;
}
}
package dynamicProxy;
import java.lang.reflect.Proxy;
public class Test
{
public static void main(String[] args)
{
ManProxy proxy = new ManProxy(new ManOne());
Man man = (Man)Proxy.newProxyInstance(ManOne.class.getClassLoader(), ManOne.class.getInterfaces(), proxy);
man.say();
man.work();
}
}
/**
*动态代理就是在运行时才知道你要调用的是哪个类,哪个方法,必须实现InvocationHandler接口,且重写invoke方法,
*里面主要是写要代理的哪个类,和一些相关的操作。
*而且每次调用的调用方法的时候,都会去调用ManProxy中的invoke方法。
*代理主要就是代理一个类中的方法,需要哪个方法就可以动态的调用这个方法。
*
*日志管理中可以用
*/
分享到:
相关推荐
package cn.sxt.dynamicproxy; import java.util.ArrayList; import java.util.List; import cn.sxt.service.UserService; import cn.sxt.service.UserServiceImpl; public class Client { public ...
SpringIOC,DI+dynamic proxy 实现盗版AOP的源代码
using Castle.DynamicProxy; public class SimpleSamepleEntity { public virtual string Name { get; set; } public virtual int Age { get; set; } public override string ToString() { return string....
Castle框架注入依赖所需dll Version:2.1.0.0
这是动态代理的简单实例,方便学,入手.这个例子非常的简单哦!
绿色软件,无需安装,可以自动添加、修改代理服务器ip地址
DynamicProxy.zip
java 反射与动态代理Reflection&DynamicProxy,源码展示
解决VS报错:未能加载文件或程序集“LinFu.DynamicProxy, Version=1.0.3.14911, Culture=neutral, PublicKeyToken=62a6874124340d6e”或它的某一个依赖项。系统找不到指定的文件。 把该文件放到bin文件夹就好了。
DynamicProxy,源码DynamicProxy,源码DynamicProxy,源码
主要写了静态代理、动态代理、还写了URL的使用,其实就是下载的原理了。 动态代理动态代理动态代理动态代理
动态代理一个简单实用的JDK动态代理演示
一个简单的动态调用wcf类,在公司的服务器上使用稳定。
解决了IBatisNET v1.x 应用.NET4.0后出现的'Ambiguous match found'问题,替换原有的dll即可。
WPF下MEF+Caliburn.Micro+MVVMValidation+Castle.Dynamicproxy AOP
动态代理框架源码 /// 说明: /// 在第一次需要用到代理时动态生成代理类,之后的使用均调用已经生成的代理类 /// 规则: /// 1.不能为接口创建代理类代理类 ... /// 2.... /// 3.... /// 1.... /// 2....
NULL 博文链接:https://xxp3369-126-com.iteye.com/blog/301133