62,614
社区成员
发帖
与我相关
我的任务
分享
/**
*
*/
package com.gjjxt.oa;
import com.eos.system.annotation.Bizlet;
/**
* @author Administrator
* @date 2015-12-14 08:56:03
*
*/
@Bizlet("")
public interface UserManger {
void add();
}
UserMangerImpl实现类
/**
*
*/
package com.gjjxt.oa;
import com.eos.system.annotation.Bizlet;
/**
* @author Administrator
* @date 2015-12-14 08:56:03
*
*/
@Bizlet("")
public interface UserManger {
void add();
}
LogHandler :与TimeHandler基本一样只是输出语句不同
/**
*
*/
package com.gjjxt.oa;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import com.eos.system.annotation.Bizlet;
/**
* @author Administrator
* @date 2015-12-14 08:54:37
*
*/
@Bizlet("")
public class LogHandler implements InvocationHandler{
private Object target;
public LogHandler(Object target) {
super();
this.target = target;
}
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
// TODO Auto-generated method stub
Object result;
// LogAdd log= new LogAdd();
//
// log.logAdd();
System.out.println("调用前");
result = method.invoke(this.target, args);
System.out.println("调用后");
// log.logEnd();
return result;
}
}
Client类
/**
*
*/
package com.gjjxt.oa;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Proxy;
import com.eos.system.annotation.Bizlet;
/**
* @author Administrator
* @date 2015-12-14 08:53:38
*
*/
@Bizlet("")
public class Client {
public static void main(String[] args) throws Exception{
UserManger mgr = new UserMangerImpl();
LogHandler h1 = new LogHandler(mgr);
InvocationHandler h2 = new TimeHandler(h1);
UserManger u = (UserManger) Proxy.newProxyInstance(mgr.getClass().getClassLoader(),mgr.getClass().getInterfaces(), h2);
u.add();
}
}