public interface UserDao {
public void save();
}
public class UserDaoImpl implements UserDao {
@Override
public void save() {
System.out.println("I am save user....");
}
}
public class UserTx {
public void before(){
System.out.println("before save.....");
}
public void after(){
System.out.println("after save......");
}
}
public class UserDaoInvocationHandler implements InvocationHandler {
/
需要代理的对象
/
private Object proxyObj;
/
指定我们需要代理的对象
@param proxyObj
*/
public void setProxyObj(Object proxyObj) {
this.proxyObj = proxyObj;
}
@Override
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
UserTx tx = new UserTx();
tx.before();
Object resultObj = method.invoke(proxyObj, args);
tx.after();
return resultObj;
}
}
import java.lang.reflect.Proxy;
public class ProxyTst {
public static void main(String[] args) {
// proxy object
UserDao target = new UserDaoImpl();
// invocation handler
UserDaoInvocationHandler handler = new UserDaoInvocationHandler();
handler.setProxyObj(target);
// proxy
UserDao targeted = (UserDao) Proxy.newProxyInstance(
target.getClass().getClassLoader(),
target.getClass().getInterfaces(),
handler);
// execute proxyed object
targeted.save();
}
}
before save..... I am save user.... after save......
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有